一.普通函数
代码如下:
def good(x,y): #x,y两个形参
z=x+y
return z
a=good(11,2)
print(a)运行结果:
二.匿名函数
代码如下:
#匿名函数 不需要写返回,自动返回
good1=lambda x,y,z: x+y+z
a=good1(12,9,1)
print(a)运行结果:
一.全局变量和局部变量
代码如下:
def good():
name="hello" #局部变量
print(name)
good()运行结果:
举例:
代码如下:
def good():
a1=3 #一层局部变量
def good1():
a2=9 #二层局部变量
print("good1:",a2)
print("good:",a1)
#good1() #调用函数good1
return good1()
print(good()) #当函数没有return的时候,默认返回的是None运行结果:
二.变量修改
1.通过局部变量去修改全局变量
代码如下:
name="nihao"
def good():
#global 声明全局变量,可以在局部进行修改
global name #声明全局变量
name="hello" #局部变量
print("局部变量是:",name)
good() #函数内部的代码只有被调用后才会执行
print("全局变量是:",name)运行结果:
2.nonlocal
代码如下:
def good():
a1=19 #一层局部变量
#good1函数的作用就是修改变量a1=19的值为a1=46
def good1():
nonlocal a1 #声明局部变量
a1=46 #二层局部变量
print("good1内部打印的a1:",a1)
print("执行good1函数前的a1:",a1)
good1()
print("执行good1函数后的a1:", a1)
good() #当函数没有return的时候,默认返回的是None说明:Python3.6 以上,nonlocal无效
1.数量没有限制
代码如下:
#递归 只有函数的入口,没有出口,是一个死循环
def good():
print("hello")
#调用函数自己
good()
print("good")
good()
运行结果:
2.数量有限制
代码如下:
#递
#good(3)=3+good(2)
#good(2)=2+good(1)
#good(1)=1+good(0)
#归
#good(3)=3+2+1+0
#good(2)=2+1+0
#good(1)=1+0
#最终归来:good(3)=6
def good(num1):
print(num1)
if num1>=1:
return num1+good(num1-1)
else:
return num1 #不再调用本身
print("递归:",good(3))运行结果:
| 留言与评论(共有 0 条评论) “” |