Programming/python
Python Class - 2
홍열
2021. 6. 24. 22:17
728x90
클래스 변수 와 인스턴스 변수
Swift에도 존재하지만,
클래스 변수 : 클래스 전체에서 공유하는 변수
인스턴스 변수 : 생성된 객체 안에서만 공유되는 변수
# 클래스 변수와 인스턴스 변수
# 클래스 변수는 모든 클래스에서 공유, 인스턴스 변수는 생성후 사용 가능
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
student1 = Student('Choi', 1)
student2 = Student('Kwon', 2)
print(id(student1), id(student2))
# 2292282828112 2292284690640
print(student1 == student2)
# False, ID값 비교이기때문에 False
print(student1 is student2)
# True, 같은 Student class의 객체이기때문에..