关键字参数和位置参数注意点


async def say_something(delay,what):
    await asyncio.sleep(delay)
    print(f"{what}")

say_func = partial(say_something, delay=5)
#await asyncio.gather(*map(say_func,["你好","你是谁"]))
await asyncio.gather(*(say_func(what=what) for what in ["你好","你是谁"])) #这个生成器的方式更加灵活多变

注意 :say_func(what=what) for what in ["你好","你是谁"]中是以关键字参数what=what的方式传递参数的,如果是say_func(what) for what in ["你好","你是谁"]则是默认按照位置参数的方式传递参数,即将what值传递给delay形参,从而报错,因为我们已经使用partial函数固定了delay参数。

关键字参数和位置参数的混合使用:

# 位置参数在前,关键字参数在后
print(fun_keyword_parameters(5, param2=2))
-------------------------------------------------------------------------
3
# 关键字参数在前,位置参数在后
print(fun_keyword_parameters(param1=1, 2))
--------------------------------------------------------------------------------
SyntaxError: positional argument follows keyword argument

具体可以看这篇博客:

python函数(4)— 位置参数和关键字参数-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值