gpt4 book ai didi

python - 将 None 传递给参数是否正确?

转载 作者:太空狗 更新时间:2023-10-29 18:00:11 25 4
gpt4 key购买 nike

我试图了解将 python 等效的 null 作为参数传递是否是个好主意;我认为这是无。

例子:你有一个接受n个参数的函数;在一种情况下,我只需要第一个和第二个参数,所以我可以将 null 传递给其中一个参数,而不是用 args 和 kwargs 编写一个长函数定义并操作它们。

def myfunct(a, b, c[optional], d[optional], e, f....n):
[do something]
if d=="y":
[do something but use only a and b]

执行:

myfunct(a, b, c, d, .....n)                #OK!
myfunct(a, b, None, "y", None,....n) #OK?

这在理论上不应该引发错误,因为我相信 null 是一个值(这不是 C++),尽管我不确定这是否是正确的做事方式。该函数知道有一个参数是特定值的条件,在这种情况下,它不会要求任何其他参数,但 1;所以使用 null 的风险实际上应该为 0。

这是可以接受的还是我使用这种方法可能会导致问题?

最佳答案

使用 None 表示“我不提供这个论点”并没有错。

您可以在代码中检查 None:

if c is None:
# do something
if d is not None:
# do something else

我会提出的一个建议是让 None 成为任何可选参数的默认参数:

def myfunct(a, b, e, f, c=None, d=None):
# do something

myfunct(A, B, E, F)

关于python - 将 None 传递给参数是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28569551/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com