Programming/python
Python Class - 3
홍열
2021. 6. 24. 22:19
728x90
왜 클래스의 메소드 앞에는 self가 붙을까?
class Student():
# 클래스 변수
student_count = 0
def __init__(self, name, number):
# 인스턴스 변수
self._name = name
self._number = number
Student.student_count += 1
def __str__(self):
return 'str {}'.format(self._name)
def __repr__(self):
return 'repr {}'.format(self._name)
def detail_info(self):
print('current id = {}'.format(id(self)))
print('Student detail info : {} {}'.format(self._name, self._number))
def __del__(self):
Student.student_count -= 1
위의 클래스에서 detail_info 함수는 매번 객체 생성 후에만 호출이 가능할까?
# 클래스 인스턴스 메소드를 이렇게 호출해도 된다.
Student.detail_info(student1)
# Student detail info : Choi 1
위와 같이 호출해도 가능하다. self에 객체를 넘겨주면 된다.