본문 바로가기

프로그래밍 언어/python

self의 의미

정의

self는 클래스의 인스턴스를 나타낸다. 파이썬이 self를 사용하는 이유는 'Python은 메소드로 하여금 메소드가 속한 인스턴스는 자동으로 전달하지만, 자동으로 수신하지는 않는 방식(?)을 취했기 때문이다'

 

메소드의 첫번째 매개변수는 메소드를 호출하는 인스턴스이다

(이를 자동으로 전달한다고 표현하는가 보다)

 

#it is clearly seen that self and obj is referring to the same object
  
class check:
    def __init__(self):
        print("Address of self = ",id(self))
  
obj = check()
print("Address of class object = ",id(obj))
Address of self =  140124194801032
Address of class object =  140124194801032

 

 

사용법

self는 생성자인스턴스 메소드의 첫번째 인수로 패스되어야 한다.

# Self is always required as the first argument
class check:
    def __init__():
        print("This is Constructor")
  
object = check()
print("Worked fine")

--> 에러가 난다. 생성자에 self 인자가 안들어 갔기 때문.

 

 

 

 

https://www.geeksforgeeks.org/self-in-python-class/

 

self in Python class - GeeksforGeeks

A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.

www.geeksforgeeks.org

 

반응형

'프로그래밍 언어 > python' 카테고리의 다른 글

Python에서 Call By Reference 구현하는 법  (0) 2023.03.13
파이썬 프로퍼티(Property)  (0) 2023.01.08
Data Classes  (0) 2022.12.11
[OS] python 과 실행파일  (0) 2021.04.09
경로 유틸리티  (0) 2021.02.07