0
파이썬 스타일 가이드를 확인했는데 예약어로 인스턴스 변수 이름을 갖는 것에 대한 특정 참조를 찾지 못했습니다. self.type
, self.class
등인스턴스 변수 이름은 파이썬에서 예약어입니다.
가장 좋은 방법은 무엇입니까?
파이썬 스타일 가이드를 확인했는데 예약어로 인스턴스 변수 이름을 갖는 것에 대한 특정 참조를 찾지 못했습니다. self.type
, self.class
등인스턴스 변수 이름은 파이썬에서 예약어입니다.
가장 좋은 방법은 무엇입니까?
가능하면 피하십시오.
당신은 얻을 getattr
및 setattr
을 통해 이러한 속성을 설정하지만, 보통 도트 구문 (obj.class
같은 구문 오류입니다)에 액세스 할 수 없습니다, 그래서 그들은 사용할 수있는 고통입니다 수 있습니다.
Aurora0001이 주석에서 언급했듯이, "필요하다"면 밑줄을 추가하는 것이 관습입니다. 이러한 속성을 "필요로하는"가장 일반적인 이유는 외부 데이터 소스에서 프로그래밍 방식으로 생성된다는 것입니다.
(당신이 잘 self.type
을 할 수 있도록 type
키워드 아닙니다.)
의 의견 [왜 이름이 파이썬 키워드가 될 속성 수없는 이유는 무엇입니까?]에서 논의 (HTTP : // 유래. why-cant-attribute-names-be-python-keywords)는 [밑줄 추가]를 제안합니다. (http://stackoverflow.com/questions/9746838/why-cant-attribute-names- be-python-keywords # comment12398462_9746838). – Aurora0001
'class'는 키워드입니다. 당신은 그것을 사용할 수 없습니다. 'type'은 키워드가 아니므로 가능합니다. 'self.type = something'은 실제로는 문제가되지 않지만'type = x' 변수는 내장형'type'을 숨기기 때문에 더 큰 probem입니다. – zvone
. 고마워요! – Pablo