>백엔드 개발 >파이썬 튜토리얼 >Python에서 __init__은 정확히 무엇을 합니까?

Python에서 __init__은 정확히 무엇을 합니까?

高洛峰
高洛峰원래의
2016-10-18 09:03:421124검색

파이썬에 이상한 이름의 함수인 __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의 값은 객체별로 지정되어 객체의 변수로서의 성격을 나타냅니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:Python 이름 바인딩다음 기사:Python 이름 바인딩