1、lambda匿名函数,算是正常定义函数的简写形式,:分割,:后等价于f函数return后,最后结构都一样,都是直接传值1结果为2
def f(x):
return x+1
print(f(1))
a=lambda x:x+1
print(a(1))
map()函数,需要传两个值,一个是传一个函数,另外一个是参数,算是高阶函数;但里面参数y需要提前先定义不能是整数,然后map返回是对象需要加list()转化
y=[1]
b=map(lambda x:x+1,y)
print(b)
print(list(b))
2.args 和kwargs 表示不定长参数,*args传非键值对kwargs传键值对的类型参数,另外同时使用args和kwargs时,*args必须写在kwargs之前。
def f(*args,**kwargs):
print(args)
print(type(args))
print(kwargs)
print(type(kwargs))
f(1,2,3,4,a="ni",b="hao")
*args
def f(arg1, arg2, arg3):
print("arg1:", arg1)
print("arg2:", arg2)
print("arg3:", arg3)
args = ["two", 3] # list
f(1, *args)
**kwargs
def f(arg1, arg2, arg3):
print("arg1:", arg1)
print("arg2:", arg2)
print("arg3:", arg3)
kwargs = {"arg2": 2, "arg3": "three"} # list
f(1, **kwargs)