> 백엔드 개발 > 파이썬 튜토리얼 > Python 객체 지향 프로그래밍에서 `self`와 `__init__`는 무엇입니까?

Python 객체 지향 프로그래밍에서 `self`와 `__init__`는 무엇입니까?

Susan Sarandon
풀어 주다: 2024-12-26 08:00:14
원래의
902명이 탐색했습니다.

What are `self` and `__init__` in Python Object-Oriented Programming?

Python OOP의 init과 self 이해

Python에서 객체지향 프로그래밍(OOP)을 배울 때, init 메소드와 self 변수를 만날 수 있습니다. 이러한 개념은 클래스 정의와 객체 인스턴스화에서 중요한 역할을 합니다.

self란 무엇입니까?

Python OOP에서 self는 클래스의 인스턴스를 나타내는 특수 변수입니다. 수업. 예에서 볼 수 있듯이 이는 일반적으로 인스턴스 메서드 및 함수의 첫 번째 매개 변수로 사용됩니다.

def method(self, blah):
    # ...
로그인 후 복사

self 변수는 클래스의 현재 인스턴스에 대한 참조입니다. 이를 통해 메서드 내에서 인스턴스의 속성과 메서드에 액세스할 수 있습니다. self를 명시적으로 선언하지 않으면 메서드는 두 개의 인수 대신 하나의 인수만 허용합니다.

__init__이 무엇인가요?

init 메서드는 특수한 인수입니다. 클래스의 생성자 역할을 하는 메서드입니다. 해당 클래스의 객체가 생성되면 자동으로 호출됩니다. 그 목적은 인스턴스의 속성을 초기화하고 필요한 클래스 속성을 설정하는 것입니다.

예:

class A(object):
    def __init__(self):
        self.x = 'Hello'

    def method_a(self, foo):
        print(self.x + ' ' + foo)
로그인 후 복사

이 예에서 init 메소드는 인스턴스를 초기화합니다. x 속성에 'Hello' 값이 있습니다. 그런 다음 method_a 메소드는 foo 매개변수와 연결된 x 값을 인쇄합니다.

init 및 self

모두 init 및 self는 Python에서 OOP의 필수 구성 요소입니다. 이를 통해 객체는 상태(속성)와 해당 상태에서 작동하는 메서드를 가질 수 있습니다. self가 없으면 메소드 내의 인스턴스별 속성 및 메소드에 액세스하는 것이 불가능합니다. 마찬가지로 init 메서드가 없으면 객체 생성 시 인스턴스 속성을 초기화할 수 없습니다.

위 내용은 Python 객체 지향 프로그래밍에서 `self`와 `__init__`는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿