본문 바로가기
개발일지/Python

파이썬 class(클래스) 상속 기초원리2 단독 class이용시 주의사항

by 개발에정착하고싶다 2022. 5. 20.
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