Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬 클래스의 self

<시간/>

이 튜토리얼에서는 자신 파이썬에서 . Python으로 작업하는 경우 익숙해야 합니다. 에 대해 몇 가지 흥미로운 사실을 알게 될 것입니다.

참고 − self는 Python에서 키워드가 아닙니다.

Python에서 가장 많이 사용되는 self부터 시작해 보겠습니다. .

자신을 사용합니다. 클래스에서 개체의 인스턴스를 나타냅니다. 여러 클래스를 만들 수 있으며 각 인스턴스는 다른 값을 갖습니다. 그리고 자신 클래스 인스턴스 내에서 해당 속성 값을 얻는 데 도움이 됩니다. 예를 들어 보겠습니다.

# class
class Laptop:
   # init method
   def __init__(self, company, model):
      # self
      self.company = company
      self.model = model

우리는 클래스의 속성을 self.[무언가]로 정의하고 있습니다. . 따라서 class의 인스턴스를 생성할 때마다 , 자신 클래스 속성 또는 메서드에 액세스하는 다른 인스턴스를 참조합니다.

이제 Laptop 클래스의 두 인스턴스를 만듭니다. 자신이 작동하는 방식을 확인하세요. .

# class
class Laptop:
   # init method
   def __init__(self, company, model):
      # self
      self.company = company
      self.model = model
# creating instances for the class Laptop
laptop_one = Laptop('Lenovo', 'ideapad320')
laptop_two = Laptop('Dell', 'inspiron 7000')
# printing the properties of the instances
print(f"Laptop One: {laptop_one.company}")
print(f"Laptop Two: {laptop_two.company}")

출력

위의 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.

Laptop One: Lenovo
Laptop Two: Dell

같은 속성에 대해 두 개의 다른 이름이 있습니다. 그 이면에 있는 몇 가지 세부 사항을 살펴보겠습니다.

파이썬 참조를 보냅니다. 메서드에 액세스하는 동안 기본적으로 인스턴스에 또는 참조 자신에 사로잡히다 . 따라서 각 인스턴스에 대해 참조가 다릅니다. 그리고 우리는 각각의 인스턴스 속성을 얻을 것입니다.

우리는 자신Python의 키워드가 아닙니다. . 인스턴스의 속성이나 메서드에 액세스하는 동안 보낼 필요가 없는 인수에 가깝습니다.

파이썬 자동으로 인스턴스에 대한 참조를 보냅니다. 모든 변수 이름으로 인스턴스를 캡처할 수 있습니다. 다음 코드를 실행하고 출력을 확인하세요.

import inspect
# class
class Laptop:
   # init method
   def __init__(other_than_self, company, model, colors):
      # self not really
      other_than_self.company = company
      other_than_self.model = model
      other_than_self.colors_available = colors
      # method
      def is_laptop_available(not_self_but_still_self, color):
         # return whether a laptop in specified color is available or not
         return color in not_self_but_still_self.colors_available
         # creating an instance to the class
         laptop = Laptop('Dell', 'inspiron 7000', ['Silver', 'Black'])
# invoking the is_laptop_available method withour color keyword
print("Available") if laptop.is_laptop_available('Silver') else print("Not available")
print("Available") if laptop.is_laptop_available('White') else print("Not available")

출력

위의 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.

Available
Not available

자신의 이름을 변경했습니다. 다른 것으로 . 그러나 여전히 이전과 같이 작동합니다. 다른 점이 없다. 따라서 자신 키워드가 아닙니다. 게다가 우리는 우리가 갖고 싶은 대로 자아를 바꿀 수 있습니다. 논쟁에 가깝습니다.

참고 - 가장 좋은 방법은 self.를 사용하는 것입니다. . 모든 Python 프로그래머가 따르는 표준입니다.

결론

튜토리얼에 의문점이 있으면 댓글 섹션에 언급하세요.