본문 바로가기

컴퓨터이야기

[GPT] Pytorch에서 클래스 선언할때 self를 써야 하는 이유

클래스에서 self를 사용하는 이유는 인스턴스 객체(즉, 클래스의 각 객체)가 자신의 속성(attribute)과 메서드(method)에 접근할 수 있도록 하기 위함입니다.

1. 인스턴스 변수와 메서드에 접근

  • self는 인스턴스 자신을 가리키는 참조입니다. 즉, 클래스의 인스턴스를 만들 때 자동으로 전달되는 첫 번째 인자입니다.
  • 클래스를 정의할 때 메서드 내에서 self를 사용하면, 메서드가 호출되는 인스턴스의 속성과 다른 메서드에 접근할 수 있습니다.

2. 클래스와 인스턴스 구분

  • self는 인스턴스 속성에 접근할 때 사용되며, 해당 속성은 클래스 레벨이 아닌 특정 객체에 고유하게 존재합니다.
  • 클래스에서 메서드를 호출할 때, 메서드의 첫 번째 인자(일반적으로 self)로 호출되는 객체가 자동으로 전달됩니다.

예시:

 
 
  • __init__ 메서드에서 self.value = value는 인스턴스의 value 속성을 설정하는 코드입니다. self는 obj 객체를 참조하며, obj.value는 10으로 설정됩니다.
  • show_value 메서드에서 self.value는 해당 객체의 value 값을 출력합니다.

3. 클래스 내부에서 인스턴스 속성 사용

  • self를 통해, 각 객체가 고유한 상태를 가질 수 있습니다. 여러 객체가 같은 클래스를 사용하더라도 각 객체는 self를 통해 개별적인 속성을 가질 수 있습니다.

요약:

  • self는 클래스 내에서 인스턴스의 속성이나 메서드를 참조하는 데 사용됩니다. 객체마다 독립적인 속성과 메서드를 갖도록 해 주며, 각 객체가 고유한 상태를 유지하도록 합니다.
  • self는 클래스의 **인스턴스(객체)**에 대해 작업할 수 있도록 돕는 중요한 역할을 합니다.

'컴퓨터이야기' 카테고리의 다른 글

DTM  (0) 2023.12.20
메타학습  (0) 2023.12.20
파이썬에서 정규식을 지원하는 라이브러리 re  (0) 2023.12.11
pytorch 설치하기  (0) 2023.12.11
CUDA 설치하기  (1) 2023.12.05