JavaScript中如何跳过函数前序参数?示例调用问题咨询
如何跳过函数前序参数直接传递后续参数?
首先明确:Python不支持example(,,,arg4)这种跳过位置参数的语法,要实现你的需求,有两种常用方案:
用关键字参数调用(需配合函数默认值)
如果是你自己定义的函数,先给前三个参数加上默认值(比如None),调整后的函数定义:def example(arg1=None, arg2=None, arg3=None, arg4): # 函数逻辑,使用arg4 print(arg4)注意:Python要求无默认值的参数必须放在有默认值的参数后面,所以如果arg4是必填项,得把它放在最后,或者也给arg4加默认值。之后调用时直接指定arg4的参数名:
example(arg4="你要传的值")这样前三个参数会自动使用默认值,不用手动传占位的未使用变量。
修改函数定义,用*args接收前序参数
把前三个参数改成用*args接收,这样不管传不传前序参数,都可以直接通过关键字指定arg4:def example(*args, arg4): # 函数逻辑,使用arg4,args会接收前序传入的所有位置参数(如果有的话) print(arg4)调用时直接传关键字参数:
example(arg4="你要传的值")这种方式更灵活,后续如果需要用到前序参数,也可以从args里获取。
如果函数不是你自己定义的(比如第三方库的函数),那只能用关键字参数指定arg4,同时必须给前三个参数传合法的值(比如符合函数要求的默认兼容值),没办法完全跳过,因为原函数定义要求前三个是必填位置参数。
内容的提问来源于stack exchange,提问作者Tarator Programmmer
相关产品推荐
相关产品推荐

