在Python中,dict.pop(a,b)是什么意思?
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
字典的方法(例如self.data
,{'a':'aaa','b':'bbb','c':'ccc'}
这里)有两个参数-
请参阅文档第二个参数
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
)。