我正在尝试翻译 Python Voronoi Generator Java,但我对关键字参数不是很熟悉,我对作为函数参数编写的关键字参数感到困惑。
我读过 this question ,但它只涵盖调用参数,而不是定义它们。
看起来该函数只是将 a
和 b
设置为 None。我不明白为什么这是必要的。为什么不直接键入 None
而不是使用这样的参数?
在函数定义中使用等于 None 的关键字参数有什么意义?
函数:
class Arc:
p = None
pprev = None
pnext = None
e = None
s0 = None
s1 = None
def __init__(self, p, a=None, b=None):
self.p = p
self.pprev = a
self.pnext = b
self.e = None
self.s0 = None
self.s1 = None
最佳答案
关键字参数可以有一个默认值。在这种情况下,a
和 b
的默认值为 None
。这意味着当这些参数未传递到函数中时,a
和 b
将设置为 None
。
例子:
def func(a=None):
print(a)
func()
>>>None
但是如果你这样做:
def func(a):
print(a)
func()
>>>TypeError: func() missing 1 required positional argument: 'a'
关于python - 将等于 `None` 的关键字作为函数参数传递有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54220977/