Skip to main content
 首页 » 编程设计

python之将等于 `None` 的关键字作为函数参数传递有什么意义

2025年05月04日13txw1958

我正在尝试翻译 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'