Python 2.x에는 기본 클래스로 내장 유형이 있는지 여부에 따라 두 가지 스타일의 클래스가 있습니다. −
"classic" style or old style classes have no built-in type as a base class: >>> class OldSpam: # no base class ... pass >>> OldSpam.__bases__ ()
"새" 스타일 클래스:기본 클래스로 내장 유형이 있습니다. 즉, 직접 또는 간접적으로 객체를 기본 클래스로 가집니다. −
>>> class NewSpam(object): # directly inherit from object ... pass >>> NewSpam.__bases__ (<type 'object'>,) >>> class IntSpam(int): # indirectly inherit from object... ... pass >>> IntSpam.__bases__ (<type 'int'>,) >>> IntSpam.__bases__[0].__bases__ # ... because int inherits from object (<type 'object'>,)
수업을 작성할 때 항상 새로운 스타일의 수업을 원할 것입니다. 그렇게 함으로써 얻을 수 있는 이점은 무수히 많습니다. 그 중 일부를 나열하자면 −
설명자 지원. 특히 다음과 같은 구성은 설명자를 사용하여 가능합니다 -
클래스 메소드 − 인스턴스 대신 암시적 인수로 클래스를 받는 메서드.
정적 방법 − 암시적 인수 self를 첫 번째 인수로 받지 않는 메서드입니다.
속성이 있는 속성:속성 가져오기, 설정 및 삭제를 관리하는 함수를 만듭니다.
Python 3.x는 새로운 스타일 클래스만 암시적으로 지원합니다. 클래스 선언에서 괄호 안에 개체라는 단어를 언급할 필요가 없습니다.