2013-10-25 4 views

답변

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

부작용은 (attrs 이미에서 키로서 존재하지 않는 한) self.files[path]에서 새로운 아이템을 생성 setdefault 의해 달성 한 값에 참조를 반환한다.

다음으로 참조 번호 namevalue 키를 할당하여 해당 참조를 수정합니다. 이 작업도 마찬가지로 self.files이 수정됩니다.

+0

어디에서 setdefault를 볼 수 있습니까? 필자는 attrs가 self.files 파일을 가리키고 있음을 알았지 만 파이썬이 포인터를 실제로 읽지는 않는다고 생각합니다. 내 배경이 C++에서 훨씬 강력 해졌으며 파이썬은 완전히 새로운 것입니다. – user2921279

+0

C++에 익숙하다면 다음과 같이 생각하십시오. * 모든 것이 포인터입니다 * – shx2

+0

여기를 참조하십시오 : http://docs.python.org/2/library/stdtypes.html#dict.setdefault – shx2