gpt4 book ai didi

python-3.x - 多个可选参数python

转载 作者:行者123 更新时间:2023-12-03 16:48:42 25 4
gpt4 key购买 nike

所以我有一个带有几个可选参数的函数,如下所示:

def func1(arg1, arg2, optarg1=None, optarg2=None, optarg3=None):

Optarg1 和 optarg2 通常一起使用,如果指定了这 2 个参数,则不使用 optarg3。相比之下,如果指定了 optarg3,则不使用 optarg1 和 optarg2。如果它是一个可选参数,则函数很容易“知道”要使用哪个参数:
if optarg1 != None:
do something
else:
do something else

我的问题是当有多个可选参数而不是所有参数都被指定时,如何“告诉”函数使用哪个可选参数?用 **kwargs 解析参数是要走的路吗?

最佳答案

**kwargs 用于让 Python 函数接受任意数量的关键字参数,然后 ** 解压关键字参数字典。 Learn More here

def print_keyword_args(**kwargs):
# kwargs is a dict of the keyword args passed to the function
print kwargs
if("optarg1" in kwargs and "optarg2" in kwargs):
print "Who needs optarg3!"
print kwargs['optarg1'], kwargs['optarg2']
if("optarg3" in kwargs):
print "Who needs optarg1, optarg2!!"
print kwargs['optarg3']

print_keyword_args(optarg1="John", optarg2="Doe")
# {'optarg1': 'John', 'optarg2': 'Doe'}
# Who needs optarg3!
# John Doe
print_keyword_args(optarg3="Maxwell")
# {'optarg3': 'Maxwell'}
# Who needs optarg1, optarg2!!
# Maxwell
print_keyword_args(optarg1="John", optarg3="Duh!")
# {'optarg1': 'John', 'optarg3': 'Duh!'}
# Who needs optarg1, optarg2!!
# Duh!

关于python-3.x - 多个可选参数python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43279256/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com