当输入为 None 时使用函数默认参数

问题描述 投票:0回答:1

我刚刚在 Python 中发现了这种行为:

>>> def x(a, b='Test'):
...     print(a)
...     print(b)
... 
>>> x(1,2)
1
2
>>> x(1)
1
Test
>>> foo=None
>>> x(1,foo)
1
None

我原以为

foo=None
意味着变量实际上并未传递给函数。

我可以对

foo
变量做些什么来使函数
x
使用
b
的默认值吗?

我尝试在涉及可选

argparse
参数的场景中使用它。不幸的是,当未提供参数时,
argparse
将其设置为
None
而不是什么都没有?

python argparse
1个回答
0
投票

您可以将其添加到第一行,

b = b or "Test"
,这样您就可以获得所有 None 值的值。

© www.soinside.com 2019 - 2024. All rights reserved.