Python cookbook functions

2只接受关键字参数的函数

函数的某些参数强制使用关键字参数传输,将强制关键字参数放到某个*参数或者单个*后面

def recv(maxsize,*,block):
    'Receives a message'
    pass
def minium(*values,clip=None):
    m=min(values)
    if clip is not None:
        m=clip if clip>m else m
    return m
minium(1,5,2,-5,10)

3给函数参数增加元信息

def add(x:int,y:int)->int:
    return x+y
add('a','b')

函数注解只存储在__annotations__中

4返回多个值的函数

return 一个元组就可以刻,return x,y,z这种返回的是一个元组

5定义有默认参数的函数

def spam(a,b=42):
    print(a,b)

**注意:use默认参数的时候要使用None,True,False等不会改变的默认参数,要使用if b is None:这种使用if not None会使长度为零的列表,tuple,和元组被误传进来...

7lamdba函数都是在使用的时候赋值,如果想让给某个匿名函数在定义时就捕获到值,可以将那个参数值定义成默认参数

8减少可调用对象的参数个数

由于参数太多导致调用失败

functools.partial(function(arg1,arg2...),arg3)函数

def apply_async(func,args,*,callback):
    #Compute the result
    result=func(*args)
    #Invoke the callback with the result
    callback(result)

猜你喜欢

转载自blog.csdn.net/qq_37312720/article/details/84747073