반응형
파이썬 Class __init__ self 는 무엇일까?
우선 자료를 찾아보고 쉽게 생각하면
파이썬에서 만들어진 하나의 규칙으로 생각하면 더 쉽다.
마치 해외갔는데 여기는 입국절차를 이렇게 하네?
우리나라 어떤 음식점에 갔는데 손님 음식을 이렇게 내어주네?
객체지향 프로그래밍인 C++, 자바도 다르듯이
파이썬도 다르다고 생각하면 되겠다.
class Calculator:
def __init__(self, num1, num2):
self.num1 = num1
self.num2 = num2
def multiply(self):
return self.num1 * self.num2
def add(self):
return self.num1 + self.num2
# 클래스 인스턴스 생성
calc = Calculator(3, 5)
# 곱하기 결과 출력
print(calc.multiply()) # 15
# 더하기 결과 출력
print(calc.add()) # 8
|
cs |
위에서 보듯이 클래스에서는 __init__ 과 slef는 필수 이다.
다른 객체지향 코드 클래스에서 초기화하는 과정과 다르게
파이썬은 self를 붙여 클래스 내자신에 값을 클래스내 self로 정의하고
초기화된 변수이름을 붙임으로써 값을 계산 한다.
만약 __init__ 없이 클래스를 작성한다면 아래와 같다.
#__init__이 필요하지 않은 예제 1
class Calculator:
def multiply(num1, num2):
return num1 * num2
def add(num1, num2):
return num1 + num2
# 클래스 내 함수 호출
print(Calculator.multiply(3, 5)) # 15
print(Calculator.add(3, 5)) # 8
#__init__이 필요하지 않은 예제 2
#하나의 클래스 안에 있는 코드 예제
class Calculator:
def multiply(self, num1, num2):
return num1 * num2
def add(self, num1, num2):
return num1 + num2
# 클래스 인스턴스 생성
calc = Calculator()
# 곱하기 결과 출력
print(calc.multiply(3, 5)) # 15
# 더하기 결과 출력
print(calc.add(3, 5)) # 8
|
cs |
클래스에서 _init__ 없어도 작동은 되지만
self는 없으면 작동 안된다.
결론 : __init__ 과 self는 Class 쓸때 꼭 쓰자
반응형
'파이썬 > 기본' 카테고리의 다른 글
Python 증감 연산자? ++, -- (0) | 2024.01.08 |
---|---|
파이썬 - 튜플, 리스트, 딕셔너리 출력 방법 (0) | 2023.07.06 |
파이썬 객체, 함수, 클래스, 모듈, 패키지 예시 (0) | 2023.05.06 |
파이썬 리스트에 저장된 큰수 작은수 max min 출력하기 찾기 (0) | 2022.05.02 |
파이썬 랜덤 random 숫자 생성 (0) | 2022.04.26 |
댓글