python定义函数时def name(self, *, id)中 * 是什么意思呢,为什么这样使用呢
3条回答 默认 最新
- 神仙别闹 2022-01-10 14:18关注
*
参数的用法
如果你希望强迫调用者使用某些参数,且必须以关键字参数的形式传参,那么你只需要在所需位置的前一个位置放置一个*
。def f1(a, *, b, c): return a + b + c
对于上面这个函数而言,调用时参数a可以任意值, 但b,c参数一定要以关键字参数的形式传参,如f1(1, b=4, c=5),否则将会报错。
def f2(a, *, b, c=5): return a + b + c
如果是这种情况下调用函数,参数a可以任意值,但参数b一定要以关键字参数的形式传参,如f2(2, b=3),但是如果想传入c参数,那么c参数的要求和b参数一样都为关键字参数形式,如f2(2,b=3,c=4)。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用