带默认值参数的函数
def add(c,a=2,b=1):
print(c+a+b)
add(1,b=3)
不定长参数
'''
*args:表示一组值的集合,普通数据
**kwargs:表示k-v格式的数据
'''
def fun(a,b,*args,**kwargs):
print('a=',a)
print('b=',b)
print('*args=',args)
print('**kwargs=',kwargs)
fun(1,2,3,4,5,6,z=10)
引用传参
a=1
b=[1,2]
def fun(a):
a+=a
print('fun 内',a)
fun(b)
print(b)
带返回值的函数,可以返回多个值
'''
全局变量可以在方法中使用
在方法中不可以改变全局变量的值
'''
def fun(a,b):
return a+b,a-b,a*b,a/b
a,b,c,d=fun(100,200)
print(a,b,c,d)
局变量和局部变量
'''
在方法中不可以改变全局变量的值(加上global可以改变值)
不能在global前定义同名的局部变量
'''
count=100
def fun():
global count
print(count)
count=200
print(count)
print(count)
fun()
print(count)
匿名函数
'''
当作函数的参数
当作内置参数使用
'''
sum=lambda a,b:a*b
print(type(sum))
print(sum(1,2))
def fun(a,b,opt):
print(a)
print(b)
print(opt(a,b))
print(fun(3,2,lambda x,y:x*y))