Definition : 생성자, 소멸자는 객체의 처음과 끝을 장식하는 호출 함수
1. 생성자(Constructor)
파이썬은 클래스(Class)를 만들고 인스턴스(Instance)가 생성이 될 때 자동으로 생성자(__init__)가 같이 생성된다.
Default :
class New :
def __init__(self):
pass
클래스 내부적으로 항상 존재하나 별도의 기능이 있는 것이 아니기에 필요에 따라 개발자가 기능을 부여할 수 있다.
Example :
class Example :
def __init__ (self, test1, test2):
print(f"{test1} is printed")
print(f"{test2} is printed")
# Create new instance
instance = Example("apple","banana")
Result :
apple is printed
banana is printed
Example :
class Example:
def __init__(self,food,drink):
self.food = food
self.drink = drink
ex = Example("pasta","coke")
print(ex.food)
print(ex.drink)
Result :
pasta
coke
2. 소멸자(Destructor)
인스턴스가 생성이 될 때 생성자(__init__)가 자동으로 생성되는 것과 같이 클래스가 소멸할 때 자동으로 소멸자(__del__)를 호출한다.
Default :
class New :
def __del__(self):
pass
클래스 소멸 시 자동으로 호출이 되며 별도의 기능을 가지고 있지 않으나 개발자의 임의로 기능을 부여할 수 있다.
Example :
class Example:
def __init__(self):
print("__init__")
def __del__(self):
print("__del__")
# init
ex = Example()
print("------------")
# del
del ex
Result :
__init__
------------
__del__
반응형
'Programming > Python' 카테고리의 다른 글
[Python] "_" in Python (Underbar) (0) | 2022.10.30 |
---|---|
[Python] GIL(Global Interpreter Lock) (3) | 2022.10.15 |
[Python] 파이썬이란 (0) | 2022.10.13 |