320x100
# 1 외부에서 매개변수를 받아주는 경우
# 요컨데 외부에서 매개변수를 받는다는 거는
# class A
# abar = A(원소)
# 이런식으로 클래스 생성자 호출당시에 ()안에 원소값을 넣어주는 개념이다.
class Calculator:
def __init__(self, n1, n2):
print('[Calculator] __init__() called')
self.num1 = n1
self.num2 = n2
# 이 과정자체가 Calculator 클래스 생성자를 호출한것이고
# 그와 동시에 init메소드도 자동 호출된다.
cal = Calculator(10,20)
print(f'cal.num1: {cal.num1}')
print(f'cal.num2: {cal.num2}')
# 2 외부에서 매개변수를 받지 않는경우
class Calculator:
# 매개변수를 받지 않는경우 init에 클래스 자신인 self를 제외한 원소 칸은 필요가 없다.
# 있어서도 안되고
def __init__(self):
print('[Calculator] __init__() called')
# 하지만 매개변수로 원소값을 받지 않는 이런경우는 클래스 내부에서 값이 변동될때마다
# 조정해줘야한다.
self.num1 = 10
self.num2 = 100
# 이 과정자체가 Calculator 클래스 생성자를 호출한것이고
# 그와 동시에 init메소드도 자동 호출된다.
cal = Calculator()
print(f'cal.num1: {cal.num1}')
print(f'cal.num2: {cal.num2}')
# 3 외부에서 매개변수를 받고, 받지 않는경우가 섞였을때
class Calculator:
def __init__(self,n1):
print('[Calculator] __init__() called')
# 하지만 매개변수로 원소값을 받지 않는 이런경우는 클래스 내부에서 값이 변동될때마다
# 조정해줘야한다.
self.num1 = n1
self.num2 = 100
# 이 과정자체가 Calculator 클래스 생성자를 호출한것이고
# 그와 동시에 init메소드도 자동 호출된다.
cal = Calculator(1000)
print(f'cal.num1: {cal.num1}')
print(f'cal.num2: {cal.num2}')
300x250
'개발일지 > Python' 카테고리의 다른 글
파이썬 class 상속 기초원리4 init 메소드 기초활용 super() (0) | 2022.05.20 |
---|---|
파이썬 class(클래스) 상속 기초원리3 부모class의 상속시 init초기화 super() (0) | 2022.05.20 |
파이썬 class(클래스) 상속 기초원리1 (class는 반드시 기초원리를 모두 봐야함) (0) | 2022.05.20 |
파이썬 얕은복사, 깊은복사 (메모리값 문제 해결) (0) | 2022.05.20 |
파이썬 [class 기초원리] - 정리판2 class(클래스) 내용(객체 속성) 변경 (0) | 2022.05.20 |