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

标签 python null keyword nonetype

我正在尝试翻译 Python Voronoi Generator Java,但我对关键字参数不是很熟悉,我对作为函数参数编写的关键字参数感到困惑。

我读过 this question ,但它只涵盖调用参数,而不是定义它们。

看起来该函数只是将 ab 设置为 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

最佳答案

关键字参数可以有一个默认值。在这种情况下,ab 的默认值为 None。这意味着当这些参数未传递到函数中时,ab 将设置为 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/

相关文章:

scala - 理解 Scala 中的隐式

python - 如何使用 python 在文本文件中搜索整数 (x,y)?

python - Eclipse 模板中的条件语句

python - Elasticsearch 查询从 regexp 输入参数中查找列表中值的完全匹配

c - 为什么我的 while 循环忽略 NULL 条件?

python - 如何在Python中为MySQL设置空值

keyword - 如何将参数嵌入到 Robot Framework 关键字名称中

python - 将 CryptoJS Base64 编码转换为 Python

python - 使用 Python 从事件日志文件中提取所需的变量

xml - 如何检查 XSLT 中的 XML 值是否为 nil