반응형
- 파이썬 매직메소드(magic method)
무심하게 지나간 __init__의 의미를 파악해보자.
- 매직메소드란
- __init__이란
- 기타 메소드
1. 매직 메소드란
클래스안에 정의할 수 있는 스페셜 메소드이며, 클래스를 int, str, list등의 파이썬의 빌트인 타입(built-in type)과 같은 작동을 하게 해준다.
클래스를 만들때 항상 사용하는 __init__이나 __str__는 가장 대표적인 매직 메소드이며 우리들이 가장 잘 아는 매직 메소드.
만들어진 클래스에서 매직 메소드가 자동으로 호출됨.
예제를 통해 무슨 말인지 알아보자.
2. __init__이란
초기화 메서드라고 불리며 객체가 생성될 때 여러가지 성질을 갖게 하는 기능
class Food(object):
def __init__(self, name, price):
self.name = name
self.price = price
음식이라는 객체를 만들었을때, 이름(name)과 가격(price)이라는 성질을 갖게 한다.
3. 기타 메서드
__str__ : 객체 정보를 문자열로 반환하는 메서드
class Food(object):
def __init__(self, name, price):
self.name = name
self.price = price
food_1 = Food('아이스크림', 3000)
# 인스턴스 출력
print(food_1)
<__main__.Food object at 주소>
__str__ 메소드를 사용하지 않고 객체를 프린트하면 객체의 주소만 불러오게 된다.
class Food(object):
def __init__(self, name, price):
self.name = name
self.price = price
def __str__(self):
return '아이템: {}, 가격: {}'.format(self.name, self.price)
food_1 = Food('아이스크림', 3000)
# 인스턴스 출력
print(food_1)
아이템: 아이스크림, 가격: 3000
__str__ 메서드 이외에 __repr__, __add__ 등 다양한 메서드가 있다.
필요한 상황에 따라 사용하면 된다.
반응형
'PYTHON > python 기초' 카테고리의 다른 글
[python] datetime, timestamp 차이 및 완벽 정리 (0) | 2022.03.08 |
---|---|
[python] with as 사용법 (0) | 2021.02.09 |
[python] 다른 폴더 파일 import (1) | 2021.01.31 |
[python] 주피터 노트북 사용법 및 단축키 (0) | 2020.05.19 |
댓글