파이썬기초53 : 생성자메서드와 소멸자메서드 메모리 관리
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 1,779 조회
- 0 추천
- 목록
본문
# 생성자메서드와소멸자메서드_메모리관리
class MyClass:
def __init__(self, value): #생성자 메서드(객체의 초기화 담당)
self.value = value
print("Instance is created value = ", self.value)
def __del__(self): # 소멸자 메서드(마지막에 메모리에서 제거될 때 실행)
print("Instance is deleted")
# 인스턴스 생성
d = MyClass(5) # 생성자메서드 호출 -> 참조카운트(1)
d2 = MyClass(6) # 생성자메서드 호출 -> 참조카운트(2)
del d # 참조카운트(1)
del d2 # 참조카운트(0) -> 소멸자메서드 호출
#클래스인스턴스 참조횟수
class CounterManager:
insCount = 0
def __init__(self):
CounterManager.insCount += 1
def printInstanceCount():
print("Instance Count: ", CounterManager.insCount)
a, b, c = CounterManager(), CounterManager(), CounterManager()
CounterManager.printInstanceCount()
class GString:
def __init__(self, init=None):
self.content = init
def __sub__(self, str):
for i in str:
self.content = self.content.replace(i, '')
return GString(self.content)
def Remove(self,str):
return self.__sub__(str)
g = GString("ABCDEFGabcdefg")
g.Remove("Adg")
관련자료
-
이전
-
다음