2013-02-08 2 views
1

저는 파이썬을 배우는 C# 개발자입니다.파이썬에서 기본값없이 클래스 속성을 정의하는 방법

특정 속성으로 클래스를 정의하고 속성에 대한 기본값을 제공하지 않으려면 어떻게해야합니까? 이 법적,

class Spam 
    eggs = None 
    cheese = None 

또는 : : 예를 들어

(이 그것을 수행하는 방법에 내 추측이다)

class Spam 
    eggs 
    cheese 

아니면 뭔가?

+1

제공하는 두 가지 선택 사항 중 첫 번째는 합법적이지만 꼭 필요한 것은 아닙니다. 속성이 사용되지 않는 한 속성을 정의 할 필요가 없습니다. 파이썬은 속성을 동적으로 생성합니다. – Dhara

+1

@David : 변수를 사용하여 무엇을하고 싶은가에 따라 'self'를 앞에 붙이려 할 수 있습니다. [여기] (http://stackoverflow.com/a/9056994/1860757). –

+0

세상에. 속성은 기본적으로 정적입니다. 이것을 지적 해 주셔서 감사합니다. – David

답변

5

그렇지 않습니다. 나중에 속성에 지정하거나 None으로 설정하십시오.

값이없는 속성은 속성이 아닙니다. 동적이기 때문에 나중에 클래스에 선언 할 필요없이 속성을 할당하는 것이 완벽합니다.

+0

음, 내 첫 번째 코드 제안이 정확한 것입니까? – David

+0

@David : 참으로. 또는'egg'와'cheese'를 모두 생략하십시오. 그것은 당신이 성취하고자하는 것, 당신의 클래스가 제시 할 API에 달려 있습니다. –

+0

'동적이기 때문에 나중에 클래스에 선언 할 필요없이 속성을 할당하는 것이 완벽합니다. ' - 알았어. 아마 IDE에서 코드 완성의 이점을 얻을 수있는 속성을 미리 정의 해 놓았습니까? – David

관련 문제