函数
函数定义
def sum(x,y): "求和" #注释 z=x+y return z a=sum(2,3) print(a)
1.不写return,函数返回None
2.返回多个值时,返回一个元组
def x(): return 1,2,3,"abc",[9,4] v=x() print(v)
3.位置参数与关键字调用 *位置参数必须在关键字左边
def p(x,y,z): print(x) print(y) print(z) #位置参数(一一对应) p(2,1,3) #关键字调用(任意顺序) p(y=1,z=2,x=3)
4.默认参数
def test(x,y="qaq"): print(x,y) #不穿type test(3) #传type test(2,y="qq")
5.参数组
#参数组:*字典,**列表 def t(x,*arg): print(x) print(arg) #省略arg t(3) #7,8,9作为一个元素传给arg t(2,7,8,9) #[4,5,6]作为一个元素传给arg t(3,[4,5,6]) #[4,5,6]元素依次赋值传给arg t(3,*[4,5,6]) #字典形式 def T(x,**key): print(x) print(key) #传值 T(3,y=3,z=5) #同时传列表,字典 def t(x,*arg,**kwargs): #顺序不能乱 print(x) print(arg) print(kwargs) #接受值可任意长 t(9,5,3,6,8,1,y="qop",z=3)
**********************************************************************************************************************************************************************************************************************全局变量==》顶头写,没有缩进
局部变量==》子程序里定义的
1.局部没有,调用全局
x=8 def T(): print(x) T()
2.局部有,调用局部
x=8 def T(): x=6 print(x) T()
3.局部变量全局化,覆盖全局变量==》global
x=8 def T(): global x x=6 print(x) T() print(x)
4.函数嵌套局部变量覆盖上一层局部变量==》nonloca
x=3 def a(): x=6 def b(): nonlocal x #覆盖上一局局部变量 x=8 b() print(x) a()