> 백엔드 개발 > 파이썬 튜토리얼 > Python에서 자기 소개

Python에서 자기 소개

PHPz
풀어 주다: 2024-02-23 16:03:03
원래의
887명이 탐색했습니다.

Python에서 자기 소개

Python의 self 소개

Python에서 self는 클래스 자체의 인스턴스 객체를 나타내는 데 사용되는 특수 키워드입니다. 클래스 메소드에서는 객체의 속성과 메소드가 self를 통해 참조됩니다. self 매개변수는 Python에서 필수가 아니며 다른 이름으로 대체될 수 있지만 이를 표현하기 위해 self를 사용하는 것이 관례입니다.

클래스 메소드에서 self 매개변수는 현재 객체에 대한 참조를 나타내는 첫 번째 매개변수로 전달되어야 합니다. self를 통해 클래스의 속성과 메서드에 액세스할 수 있고 다른 메서드를 호출할 수도 있습니다.

특정 예를 통해 self의 사용을 설명해 보겠습니다.

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age
        
    def say_hello(self):
        print("Hello, my name is", self.name)
        print("I am", self.age, "years old.")

person = Person("Tom", 25)
person.say_hello()
로그인 후 복사

위 코드에서는 name과 age라는 두 가지 속성을 포함하는 Person 클래스를 정의하고 say_hello 메서드를 정의합니다. say_hello 메소드에서는 self를 통해 객체의 속성인 name과 age를 참조하고 해당 정보를 출력합니다.

다음으로 Person, person의 인스턴스 객체를 만들고 say_hello 메서드를 호출합니다. say_hello 메소드를 호출하는 과정에서 person 객체에 대한 참조가 자동으로 self 매개변수로 전달됩니다. 따라서 say_hello 메소드 내부의 self.name은 person 객체의 name 속성을 나타내고, self.age는 person 객체의 age 속성을 나타냅니다.

위 코드를 실행하면 출력 결과는 다음과 같습니다.

Hello, my name is Tom
I am 25 years old.
로그인 후 복사

이 예를 통해 self를 통해 클래스의 속성과 메서드에 액세스할 수 있어 코드가 더 명확하고 이해하기 쉬워진다는 것을 알 수 있습니다. 동시에 클래스 내에서 self를 통해 다른 메서드를 호출하여 메서드의 상호 호출을 실현할 수도 있습니다.

클래스 내에서 속성과 메서드를 참조할 때는 반드시 self를 통해 참조해야 하며, 그렇지 않으면 오류가 보고된다는 점에 유의해야 합니다. 예를 들어, say_hello 메소드에서 name과 age 속성을 참조하기 위해 self를 사용하지 않고 name과 age 속성을 직접 사용하면 오류가 발생합니다. NameError: name 'name' is not defined

Python에서는 분류의 속성과 방법을 보다 명확하게 구분하기 위해 self를 사용하여 클래스의 인스턴스 객체를 나타내는 일반적인 작성 방법입니다. self 대신에 다른 이름을 사용하는 경우도 있지만, 다른 변수명, 메소드명과의 충돌을 피하기 위해 self의 기존 작성 방식을 사용하는 것이 좋습니다.

요약하자면, self는 클래스 자체의 인스턴스 객체를 나타내는 Python의 키워드입니다. 객체의 참조를 메소드에 전달하므로 메소드에서 객체의 속성과 메소드에 액세스할 수 있습니다. self를 사용하면 코드가 더 명확해지고 이해하기 쉬워지며, 클래스의 메소드를 서로 호출할 수도 있습니다.

위 내용은 Python에서 자기 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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