class Person:
pass


기본적으로 파이썬의 클래스는 네임스페이스를 가지며.. C++ 과 가장큰 차이점은 맴버에 대한 부분이다. C++처럼 맴버를 열거하는것이 아니라 생성자에서 직접 초기화를 시켜줌으로서 인스턴싱이 된다. (pass는 nop같은 녀석.. 그냥 채워놔줌 )

생성자 & 소멸자 포멧

def __init__( self )
def __del__( self )

self는 C++ 의 this의 역할을 한다. 따라서 위의 Person 클래스가 name , id 를 가질려면 직접 생성자에서 초기화를 해주어야한다.

def __init__( self ):
self.id = 0
self.name = '고구마'

이런건 특히나 리스트같은 것일 경우 필수.. 컨테이너는 사전에 초기화를 해주어야 하기땜시롱..

class Person:
name = '고구마'

이렇게 해두면 name은 일종의 static 변수가 되어서 모든 객체에서 억세스가 가능해진다.
Posted by 마고자