主题
函数
总结
- 函数传参传的是引用
def f(x, y):
return x - y
x = 1
y = 2
z = f(y=2, x=1)
print(z)
-1
def f(*args, **kwargs)
参数的元组打包以及字典打包Python函数是对象
Python函数是First Class(一等公民) :
(1)能被变量引用
(2)可以作为参数传递
(3)可以加入到集合当中
(4)可以作为返回值函数可以作为返回值(函数闭包)
def kx(k):
def f(x):
return k*x
return f
f = kx(k = 2)
print(f(5))
10
def g(x):
def f(y):
return x + y
return f
x = [1, 2]
f = g(x)
print(f([3]))
x.append(0)
print(f([3]))
[1, 2, 3]
[1, 2, 0, 3]
- Lambda表达式,单行函数,匿名函数
def f(g, *x):
return g(*x)
print(f(lambda x,y: (x+y, x-y), 1, 2))
(3, -1)