函数形式
def fun()->list[int]:#->list[int]表示返回值是list[int]
print("sadf")
return []
参数
位置参数
def fun(a,b,c):
print(a,b,c)
fun(1,2,3)# 1,2,3
关键词参数
def fun(a,b,c):
print(a,b,c)
fun(a = 2,b = 1,c = 3)# 2,1,3
个数可变的位置参数 *a
默认a是一个集合
形参时
def fun(a,b,c):
print(a,b,c)
a = (1,2,3)
fun(a)#这样会报错
fun(*a)#1 2 3
实参时
默认a是一个集合
def fun(*a):
print(a)
fun(1)#(1,)
fun(1,2)# (1 2)
fun('sad',2,3,4)#(sad 2 3 4)
个数可变的关键词参数 **a
默认a是一个字典
形参时
def fun(a,b,c):
print(a,b,c)
a = {'a':1,'b':2,'c':3}
fun(a)#这样会报错
fun(**a)#1 2 3
实参时
默认a是一个字典
def fun(**a):
print(a)
fun(a = 1)#{'a': 1}
fun(a = 1,b = 2)#{'a': 1, 'b': 2}
fun(a = 'sad',b = 2,c = 3,d = 4)#{'a': 'sad', 'b': 2, 'c': 3, 'd': 4}
实参里有一个单独的*
def fun(a,b,*,c,d):
print(a,b,c,d)
fun(1,2,3,4)#这样会报错 因为c和d一定要关键字传递
fun(1,2,c = 3,d = 4)# 1,2,3,4
全局变量 global
global a#全局变量
注意
def fun(*a,**b)#可以
def fun(**a,*b)#不可以