>  기사  >  백엔드 개발  >  Python에서 __init__은 정확히 무엇을 합니까?

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

大家讲道理
大家讲道理원래의
2016-11-07 16:33:101307검색

파이썬에서 __init__이라는 이상한 이름의 함수를 봤습니다. 밑줄 친 함수가 자동으로 실행된다는 것은 알지만, 그 존재의 구체적인 의미는 모르겠습니다..

오늘 봤습니다. > Chapter 11 객체 지향 프로그래밍에서는 이를 다음과 같이 소개합니다. "C++/Java/C# 프로그래머를 위한 참고 사항

Python의 모든 클래스 멤버(데이터 멤버 포함)는 공개이고 모든 메서드는 유효합니다.

한 가지 예외가 있습니다. __privatevar와 같이 이중 밑줄이 앞에 붙은 데이터 멤버 이름을 사용하는 경우 Python의 이름 관리 시스템은 이를 효과적으로 개인 변수로 처리합니다. 클래스나 개체 내에서만 사용하려면 밑줄 하나를 접두사로 붙여야 하며 다른 모든 이름은 공개되어 다른 클래스/객체에서 사용할 수 있습니다. 이는 단지 규칙일 뿐이며 Python에서는 필요하지 않습니다(다음과 다릅니다). 이중 밑줄 접두사)

또한 __del__ 메서드는 소멸자의 개념과 유사합니다. "

갑자기 클래스에서 __init__이 사용된다는 사실이 떠올랐습니다. 생성자는 다음과 같이 작성되었습니다. 고정된 방식인 것 같지만 실제로는 의미가 있습니다

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

name 변수는 객체에 속하므로(자체 할당을 사용함) 객체입니다.

self.name 변수의 값은 객체별로 지정되어 객체의 변수로서의 성격을 나타냅니다.

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