#函数的定义
def fucn_name():
pass
return 0
#def 关键字用来定义函数,func_name 是函数名,()中可以加函数的参数 pass 是函数体,return为函数结束返回值
#实例
def add(x,y):
return x+y
#定义一个求和的函数 函数返回的数据类型为x+y的数据类型
#return 可以有多个返回值
def return_vlaue():
return 1,{},[] #当return含有多个返回值时,整个函数返回一个元组
print(return_vlaue())
######################实际参数和形式参数######################
def add(x,y): #x,y就是形式参数
z=x+y*2
return z
print(add(2,3)) #2,3 就是实际参数,位置调用
print(add(3,2))
print(add(y=3,x=2)) #使用关键字传递参数
#############################局部变量和全局变量###########
a=3
def add(x):
y=x #由于y定义在函数体内,所以y是个局部变量,只有在函数调用时才成立,函数调用结束后释放y在内存中的空间
return y #虽然使用return返回y但是,但是return返回的值存储在add(3)这个变量中
x=add #将函数的内存地址赋值给x相当于x变量也只想add内存地址,x也可以调用add()
x(4)
print(a)
print(add(3)) #显示函数的返回值
print(add) #显示函数的内存地址
#############函数的非固定参数############
def fuc(*args,**kwargs):
print(args,kwargs)
fuc(4,3,8,name="guode",age=56)
#fuc(4,3,8,name="guode",age=56) 的调用等价于下面
def fuc(x,y):
print(x,y)
fuc((4,3,8),{"name":"guode","age":56})
####################嵌套函数###################
def a(x):
print(x)
def b(y):
print(y)
return b
'''
b("调用函数b")
提示函数没有定义如果要调用如何使用b函数?
由于b函数嵌套在a函数内,所以所以不能直接通过b()的方式调用,但是由于a函数返回了b函数的内存地址
所以我们可以通过b函数的内存地址调用
a("调用a函数")("调用a函数的内层b函数")
如果你想要调用内层函数,首先你必须调用外层函数
'''
a("调用a函数")("调用b")
##################递归函数####################
#函数自己调用自己就是递归函数
def a(x):
print(x)
a(x)
#在a函数体内,函数自己调用自己,所以函数a就是个递归函数
#匿名函数
a=lambda x:x**2
print(a)