파이썬 딥러닝 ai 스쿨 기초/lecture04

lecture04 0교시 파이썬 기초 연습문제

junny1997 2021. 3. 23. 11:24

객체 클래스 

class Flight:
    nation = 'Korea'
    #클래스 변수, 속성
    def __init__(self, number, passenger_num):
        #print('init')
        #raise error발생
        if not number[:2].isalpha():
            raise ValueError("첫 두글자가 알파벳이 아닙니다")
        #isalpha() 알파벳인가
        if not number[:2].isupper():
            raise ValueError("첫 두글자가 대문자가 아닙니다")
        #isupper() 대문자인가 islower
        if not number[2:].isdigit():
            raise ValueError("세번째 글자 이상이 양의 숫자가 아닙니다")
        #isdigit() 숫자인가
        self._number = number
        # __클래스변수에 직접 외부접근 막음, _하나는 변수 약속
        self._passenger_num = passenger_num

    def number(self):
        return self._number

    def add_passenger(self, num):
        self._passenger_num += num
from lecture04.airtravel import Flight

f = Flight('KE082', 0) #클래스 객체 생성 및 변수 할당
f.add_passenger(2)
print(f.nation, f.number(), f._passenger_num)

Korea KE082 2

 

 

연습문제

 

fourcal.py에서 사칙연산을 수행하는 Calculator 클래스를 만드세요.

def __init__(self, num1, num2)

def add(self)

     .

     .

     return result

def sub(self)

def mul(self)

def div(self)

calculator_test.py에서 객체 생성 후 4가지 메소드 사용 결과 출력

class Calculator:
    def __init__(self, num1, num2):
        self.__num1 = num1
        self.__num2 = num2
    def add(self):
        result = self.__num1 + self.__num2
        return result
    def sub(self):
        result = self.__num1 - self.__num2
        return result
    def mul(self):
        result = self.__num1 * self.__num2
        return result
    def div(self):
        result = self.__num1 / self.__num2
        return result
from lecture04.calculator_test import Calculator

calculate = Calculator(10,5)
print(calculate.add())
print(calculate.sub())
print(calculate.mul())
print(calculate.div())

15
5
50
2.0