2016-10-10 2 views
0

파이썬 스타일 가이드를 확인했는데 예약어로 인스턴스 변수 이름을 갖는 것에 대한 특정 참조를 찾지 못했습니다. self.type, self.class인스턴스 변수 이름은 파이썬에서 예약어입니다.

가장 좋은 방법은 무엇입니까?

+1

의 의견 [왜 이름이 파이썬 키워드가 될 속성 수없는 이유는 무엇입니까?]에서 논의 (HTTP : // 유래. why-cant-attribute-names-be-python-keywords)는 [밑줄 추가]를 제안합니다. (http://stackoverflow.com/questions/9746838/why-cant-attribute-names- be-python-keywords # comment12398462_9746838). – Aurora0001

+0

'class'는 키워드입니다. 당신은 그것을 사용할 수 없습니다. 'type'은 키워드가 아니므로 가능합니다. 'self.type = something'은 실제로는 문제가되지 않지만'type = x' 변수는 내장형'type'을 숨기기 때문에 더 큰 probem입니다. – zvone

+0

. 고마워요! – Pablo

답변

1

가능하면 피하십시오.

당신은 얻을 getattrsetattr을 통해 이러한 속성을 설정하지만, 보통 도트 구문 (obj.class 같은 구문 오류입니다)에 액세스 할 수 없습니다, 그래서 그들은 사용할 수있는 고통입니다 수 있습니다.

Aurora0001이 주석에서 언급했듯이, "필요하다"면 밑줄을 추가하는 것이 관습입니다. 이러한 속성을 "필요로하는"가장 일반적인 이유는 외부 데이터 소스에서 프로그래밍 방식으로 생성된다는 것입니다.

(당신이 잘 self.type을 할 수 있도록 type 키워드 아닙니다.)

관련 문제