Python 调用或向函数传递可选参数
我有3个参数,我想让其中2个可选。我应该如何调用缺少中间参数的函数 这是一个新手问题,但是如果没有为可选参数显式键入“None”,我就找不到关于使2个参数可选的任何细节 示例:Python 调用或向函数传递可选参数,python,Python,我有3个参数,我想让其中2个可选。我应该如何调用缺少中间参数的函数 这是一个新手问题,但是如果没有为可选参数显式键入“None”,我就找不到关于使2个参数可选的任何细节 示例: >>> def add (something, system = None, owner = None): if system is None: print (something) else: print ('System is not none.')
>>> def add (something, system = None, owner = None):
if system is None:
print (something)
else:
print ('System is not none.')
>>>
>>> add ('First parameter', None, 'John Doe')
First parameter
>>> add ('First parameter', 'Second paremter')
System is not none.
>>> add ('First parameter', , 'John Doe')
SyntaxError: invalid syntax
>>> add ('First parameter')
First parameter
使用默认参数的名称
add ('First parameter', owner = 'John Doe')
演示
您可以将第二个参数设为空,而不是传递none 例如:
add('First parameter','','John Doe')
System is not none.
现在我将第二个参数系统作为空传递,我想这会起作用。我希望在没有“所有者”的情况下通过它。@dreamzboy-Nope。你不能这么做:(这是因为Python是动态类型的,所以解释器会对参数应该指向哪个参数感到困惑。如果它实际上是一个程序,而不是在解释器中运行呢?我会用不同的方法调用它吗?我在解释器外进行了测试,结果仍然是一样的。@dreamzboy Naw。在任何地方都是一样的。我包括修改了REPL部分,以便您可以清楚地区分输入和输出。谢谢您的帮助。我想将变量分配给系统并不需要太多工作。python如何知道arg
“第二个参数”
是什么?希望通过调用(某物,“John Doe”)来知道2个逗号之间的空格表示a“没有”。
add('First parameter','','John Doe')
System is not none.