파이썬에 이상한 이름의 함수인 __init__이 있는 것을 봤습니다. 밑줄 친 함수가 자동으로 실행된다는 것은 알지만, 그 존재의 구체적인 의미는 모르겠습니다..
오늘 >11장 객체 지향 프로그래밍을 보았는데, "C++/Java/C# 프로그래머를 위한 참고 사항
모든 클래스 멤버(데이터 멤버 포함) ) Python에서는 공용이며 한 가지 예외를 제외하고 모든 메소드가 유효합니다. __privatevar와 같이 이중 밑줄이 앞에 붙은 데이터 멤버 이름을 사용하는 경우 Python의 이름 관리 시스템은 이를 효과적으로 전용 변수로 처리합니다. >변수가 클래스나 개체 내에서만 사용되는 경우 앞에 밑줄 하나를 붙여야 하며, 다른 이름은 공개되어 다른 클래스/객체에서 사용할 수 있다는 규칙이 있습니다. (이중 밑줄 접두사와는 달리) 규칙이 필요하지 않습니다. 또한 __del__ 메서드는 소멸자 "
와 유사합니다. __init__는 클래스에서 생성자로 사용되며 다음과 같이 작성됩니다. 고정된 방식인 것처럼 보이지만 실제로는 의미가 있습니다.
name 변수는 객체에 속합니다( self(할당) 및 따라서 객체의 변수입니다def __init__(self, name): '''Initializes the person's data.''' self.name = name print '(Initializing %s)' % self.name # When this person is created, he/she # adds to the population Person.population += 1
self.name의 값은 객체별로 지정되어 객체의 변수로서의 성격을 나타냅니다.