2013-10-25 85 views

回答

1
def setxattr(self, path, name, value, options, position=0): 
    # Ignore options 
    attrs = self.files[path].setdefault('attrs', {}) 
    attrs[name] = value 

所述的副作用是由setdefault,这产生在self.files[path]一个新的项目(除非attrs已经存在如在它的键)来实现,并返回一个参考的值。

接下来,通过分配其关键字name修改该参考值value。通过那个操作,self.files被修改。

+0

我在哪里可以看到setdefault的作用?我知道它可以做的是attrs指向一块self.files,但我认为我阅读python并不真正做指针。我的背景在C++中更强大,python对我来说是全新的。 – user2921279

+0

如果你习惯了C++,可以这样想:* python – shx2

+0

中的所有东西都是指针*请参阅:http://docs.python.org/2/library/stdtypes.html#dict.setdefault – shx2

相关问题