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에서 자기 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!