클래스는 다양한 객체 생성을 위한 청사진입니다. 객체가 생성되어 클래스를 형성하면 더 이상 클래스 속성에 의존하지 않습니다. 또한 클래스는 생성된 인스턴스의 속성을 제어할 수 없습니다.
아래 예제에서 우리는 클래스 속성을 갖는 MainClass와 고유한 속성 값을 갖는 메인 클래스에서 생성된 객체를 볼 수 있습니다. 이 값을 인쇄하면 명확해집니다. 결국 클래스는 개체 속성의 값에 액세스할 수 없습니다.
예시
class MainClass(object): class_attr = 'Sun' def __init__(self, instance_attr): self.instance_attr = instance_attr if __name__ == '__main__': obj1 = MainClass('Mon') obj2 = MainClass('Tue') # print the instance attributes print (obj1.instance_attr) print (obj2.instance_attr) #print the class attribute using Mainclass print(MainClass.class_attr) #print the classattribute using objects print (obj1.class_attr) print (obj2.class_attr) #printing instance attribute as a class property gives error #print (MainClass.instance_attr)오류를 제공합니다.
출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
Mon Tue Sun Sun Sun