ser*_*ajo -2 python keyword-argument
我有一个看似简单的问题,但我找不到答案。使用一个简单的函数,例如:
def test_kwargs_1(a,**kwargs):
print a
print b
Run Code Online (Sandbox Code Playgroud)
我在想,如果我通过了:
kwargs = {'a':1,'b':2}
test_kwargs_1(**kwargs)
Run Code Online (Sandbox Code Playgroud)
它会打印:
1
2
Run Code Online (Sandbox Code Playgroud)
因为它会解压 "kwargs" 并且变量 "a" 和 "b" 都可用。相反,我得到:
1
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
.
.
----> 3 print b
NameError: global name 'b' is not defined
Run Code Online (Sandbox Code Playgroud)
我知道“b”是一个可能存在也可能不存在的变量,但我认为如果在 kwargs 中明确定义,解包 kwargs 将使变量“b”可用。我没有得到什么?谢谢,s
| 归档时间: |
|
| 查看次数: |
3655 次 |
| 最近记录: |