Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 调用或向函数传递可选参数_Python - Fatal编程技术网

Python 调用或向函数传递可选参数

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.')

我有3个参数,我想让其中2个可选。我应该如何调用缺少中间参数的函数

这是一个新手问题,但是如果没有为可选参数显式键入“None”,我就找不到关于使2个参数可选的任何细节

示例:

>>> 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.