class a(object):
data={'a':'aaa','b':'bbb','c':'ccc'}
def pop(self, key, *args):
return self.data.pop(key, *args)#what is this mean.
b=a()
print b.pop('a',{'b':'bbb'})
print b.data
self.data.pop(key, *args)
←------为什么还有第二个参数?
最佳答案
pop
dicts 的方法(如 self.data
,即 {'a':'aaa','b':'bbb','c':'ccc'}
,这里)需要两个参数——见 the docs
第二个参数,default
, 是什么 pop
如果第一个参数 key
则返回, 缺席。
(如果您调用 pop
时只使用一个参数 key
,如果该键不存在,则会引发异常。
在您的示例中,print b.pop('a',{'b':'bbb'})
,这是无关紧要的,因为 'a'
是 b.data
中的一个键.但是如果你重复那行......:
b=a()
print b.pop('a',{'b':'bbb'})
print b.pop('a',{'b':'bbb'})
print b.data
你会发现它有所不同:第一个 pop
删除 'a'
键,所以在第二个 pop
default
实际上返回了参数(因为 'a'
现在不在 b.data
中)。
关于python - 在 Python 中,dict.pop(a,b) 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1990802/