【python】函数参数 "/ "和参数 "*"

参数 / 与 参数 *

意思如下:

  • / 符号之前的所有参数,都必须以位置方式传参,不可以关键字参数传参
  • * 符号之后的所有参数,都必须以关键字方式传参,不得以位置方式传参

 

如果你希望强迫调用者使用某些参数,且必须以关键字参数的形式传参,那么你只需要在所需位置的前一个位置放置一个*。

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. python函数参数中的/和*

posted @ 2023-06-06 11:27  苏格拉底的落泪  阅读(52)  评论(0编辑  收藏  举报