클래스 속성 및 메소드 정의

클래스에서 바인드되는 모든 변수는 클래스 속성입니다. 클래스 내에서 정의되는 모든 함수가 메소드입니다. 메소드는 일반적으로 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).