Python仅关键字和关键字必需的参数
示例
Python3允许您定义只能通过关键字分配的函数参数,即使没有默认值也是如此。这是通过使用star*来消耗其他位置参数而无需设置关键字参数来完成的。*之后的所有参数均为仅关键字(即非位置)参数。请注意,如果没有为仅关键字的参数提供默认值,则在调用函数时仍需要使用它们。
def print_args(arg1, *args, keyword_required, keyword_only=True): print("first positional arg: {}".format(arg1)) for arg in args: print("another positional arg: {}".format(arg)) print("keyword_required value: {}".format(keyword_required)) print("keyword_only value: {}".format(keyword_only)) print(1, 2, 3, 4) #TypeError:print_args()缺少1必需的仅关键字参数:'keyword_required' print(1, 2, 3, keyword_required=4) #第一个位置参数:1 #另一个位置参数:2 #另一个位置参数:3 #keyword_required值:4 #keyword_only值:True