我刚刚在 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
而不是什么都没有?
您可以将其添加到第一行,
b = b or "Test"
,这样您就可以获得所有 None 值的值。