클래스 속성 및 메소드 정의
클래스에서 바인드되는 모든 변수는 클래스 속성입니다. 클래스 내에서 정의되는 모든 함수가 메소드입니다. 메소드는 일반적으로 self(이)라는 클래스의 인스턴스를 첫 번째 인수로 수신합니다. 예를 들어, 일부 클래스 속성 및 메소드를 정의하기 위해 다음 스크립트를 입력할 수 있습니다.
class MyClass
attr1 = 10 #class attributes
attr2 = "hello"
def method1(self):
print MyClass.attr1 #reference the class attribute
def method2(self):
print MyClass.attr2 #reference the class attribute
def method3(self, text):
self.text = text #instance attribute
print text, self.text #print my argument and my attribute
method4 = method3 #make an alias for method3
클래스 내에서 클래스 이름을 가진 클래스 속성에 대한 모든 참조를 규정해야 합니다(예: MyClass.attr1).인스턴스 속성에 대한 모든 참조는 self 변수(예: self.text)로 규정해야 합니다. 클래스 외부에서 클래스 이름(예: MyClass.attr1) 또는 클래스의 인스턴스(예: x.attr1, 여기서 x은(는) 클래스의 인스턴스)를 사용하여 클래스 속성에 대한 모든 참조를 규정해야 합니다. 클래스 외부에서 인스턴스 변수에 대한 모든 참조는 클래스의 인스턴스로 규정되어야 합니다(예: x.text).