2024-04-26 02:31:52 发布
网友
所以,我有一个非常简单的函数(我还是个新手)。你知道吗
就像这样:
def add_num(x,y,z=None): if z == None: return x+y else: return x+y+z print(add_num(1,2)) print(add_num(1,2,3))
所以我的问题是,当我注意到,如果没有第三个变量,那么它是被接受的。所以“None”基本上是指如果“variable=None”,没有值附加到变量是可以的。只是确认一下!谢谢!你知道吗
So does "None" mean basically mean that it is ok to have no value attached to a variable if "variable=None." Just confirming! Thanks!
不,当你定义这样一个函数时:
def add_num(x,y,z=None):
x和y是“位置”参数,它们是必需的,而z是关键字参数。关键字参数具有默认值,如果在调用函数时未提供默认值,则将使用这些默认值。而不是没有,你可以很容易地写:
x
y
z
def add_num(x,y,z=0):
或:
def add_num(x,y,z=5):
在这两种情况下,如果函数调用中没有提供z的默认值,那么您就是在为它设置默认值。你知道吗
请注意,如果有多个关键字参数,如下所示:
def do_something(x, y, size='medium', name=None):
您可以为它们提供值作为位置参数,在这种情况下,参数的顺序必须匹配:
do_something(1,2, 'large', 'alice')
但您也可以通过在函数调用中提供关键字参数的名称,按任意顺序指定关键字参数,如下所示:
do_something(1, 2, name='alice', size='large)
如果您对默认值满意,则不需要提供值:
do_something(1, 2, name='alice')
试试这个:
def add_num(x,y,z='spatula'): if z == 'spatula': return x+y else: return x+y+z print(add_num(1,2)) print(add_num(1,2,3))
None在这里很常见,但它不是默认参数的固有属性。你知道吗
None
我应该看看python教程。尤其是Default Argument Values
本章介绍如何使用默认参数定义函数。你知道吗
下一个是关于关键字参数的:也可以使用形式为kwarg=value的关键字参数来调用函数。你知道吗
有两种论点:
关键字参数:在函数调用中以标识符(如name=)开头的参数,或在字典中以值的形式传递,前面加**。例如,在以下对complex()的调用中,3和5都是关键字参数:
complex(real=3, imag=5) complex(**{'real': 3, 'imag': 5})
位置参数:不是关键字参数的参数。位置参数可以出现在参数列表的开头和/或作为前面带有*的iterable的元素传递。例如,3和5都是以下调用中的位置参数:
complex(3, 5) complex(*(3, 5))
参数被分配给函数体中的命名局部变量。你知道吗
不,当你定义这样一个函数时:
x
和y
是“位置”参数,它们是必需的,而z
是关键字参数。关键字参数具有默认值,如果在调用函数时未提供默认值,则将使用这些默认值。而不是没有,你可以很容易地写:或:
在这两种情况下,如果函数调用中没有提供
z
的默认值,那么您就是在为它设置默认值。你知道吗请注意,如果有多个关键字参数,如下所示:
您可以为它们提供值作为位置参数,在这种情况下,参数的顺序必须匹配:
但您也可以通过在函数调用中提供关键字参数的名称,按任意顺序指定关键字参数,如下所示:
如果您对默认值满意,则不需要提供值:
试试这个:
None
在这里很常见,但它不是默认参数的固有属性。你知道吗我应该看看python教程。尤其是Default Argument Values
本章介绍如何使用默认参数定义函数。你知道吗
下一个是关于关键字参数的:也可以使用形式为kwarg=value的关键字参数来调用函数。你知道吗
有两种论点:
关键字参数:在函数调用中以标识符(如name=)开头的参数,或在字典中以值的形式传递,前面加**。例如,在以下对complex()的调用中,3和5都是关键字参数:
位置参数:不是关键字参数的参数。位置参数可以出现在参数列表的开头和/或作为前面带有*的iterable的元素传递。例如,3和5都是以下调用中的位置参数:
参数被分配给函数体中的命名局部变量。你知道吗
相关问题 更多 >
编程相关推荐