개발자 성장일지

제 5장 Python 클래스 실습 본문

Python

제 5장 Python 클래스 실습

hdigimon 2023. 10. 24. 11:26

※ 클래스 모음

class Account:

    def __init__(self, bank, id, name, balance):
        self._bank = bank
        self._id = id
        self._name = name
        self._balance = balance
        
    def deposite(self, money):
        self._balance += money
    
    def withdraw(self, money):
        self._balance -= money
    
    def show(self):
        print('은행명 :', self._bank)
        print('계좌번호 :', self._id)
        print('입금주 :', self._name)
        print('현재잔액 :', self._balance)


class Car:

    # 생성자
    def __init__(self, brand, color, price):
        self.brand = brand
        self.color = color
        self.price = price
    
    # 기능
    def speedUp(self):
        print('%s 속도 올립니다.' % self.brand)
        

    def speedDown(self):
        print('%s 속도 내립니다.' % self.brand)


    def show(self):
        print('차량명 :', self.brand)
        print('차량색 :', self.color)
        print('차량가격 :', self.price)
        pass



from sub1.Account import Account

class StockAccount(Account) :
    def __init__(self, bank, id, name, balance, stock, amount, price):
        super().__init__(bank, id, name, balance)

        self.__stock = stock
        self.__amount = amount
        self.__price = price

    def sell(self, amount, price):
        self._balance += amount * price
        self.__amount -= amount

    def buy(self, amount, price):
        self._balance -= amount * price
        self.__amount += amount

    def show(self):
        super().show()
        print('주식종목 :', self.__stock)
        print('주식수량 :', self.__amount)
        print('주식가격 :', self.__price)

 

1. 파이썬 클래스 실습하기

"""
날짜 : 2023/01/11
이름 : 황원진
내용 : 파이썬 클래스 실습하기
"""
from sub1.Car import Car
from sub1.Account import Account

sonata = Car("sonata", "red", 1000)
sonata.speedUp()
sonata.speedDown()
sonata.show()

bmw = Car("BMW", "blue", 4000)
bmw.speedUp()
bmw.speedDown()
bmw.show()

kb = Account("국민은행", "101-12-1234", "김유신", 30000)
kb.deposite(5000)
kb.withdraw(3000)
kb.show()

hana = Account("하나은행", "131-22-1234", "김춘추", 20000)
hana.deposite(5000)
hana.withdraw(3000)
hana.show()
hana._balance -= 1
print(hana._balance)

 

2. 파이썬 클래스 상속 실습하기

"""
날짜 : 2023/01/11
이름 : 황원진
내용 : 파이썬 상속 실습하기
"""

from sub1.StockAccount import StockAccount


kb = StockAccount("KB증권", "101-12-1234", "홍길동", 50000, "삼성전자", 10, 60000)
kb.deposite(500000)
kb.sell(5, 1000)
kb.show()

 

3. 파이썬 모듈 실습하기

"""
날짜 : 2023/01/11
이름 : 황원진
내용 : 파이썬 모듈 실습하기
"""

from sub2.calc import plus, minus
import sub2.calc as c


r1 = plus(1, 2)
r2 = minus(2, 3)
r3 = c.multi(3, 4)
r4 = c.div(4, 2)

print("r1 :", r1)
print("r2 :", r2)
print("r3 :", r3)
print("r4 :", r4)

 

4. 파이썬 외부 패키지 모듈 실습하기

"""
날짜 : 2023/01/12
이름 : 황원진
내용 : 파이썬 외부 패키지 모듈 실습
"""
// pip install openpyxl 실행 외부라이브러리 설치
from openpyxl import Workbook, load_workbook

# 새로운 엑셀파일 생성
workbook = Workbook()

# 첫번째 시트 활성화
sheet = workbook.active

# 데이터 입력
sheet['A1'] = '파이썬 엑셀 실습'
sheet.append(['아이디', '이름', '전화번호', '나이', '주소'])
sheet.append(['a101', '김유신', '010-1234-1001', 25, '김해시'])
sheet.append(['a102', '김춘추', '010-1234-1002', 22, '경주시'])
sheet.append(['a103', '장보고', '010-1234-1003', 35, '완도시'])
sheet.append(['a104', '강감찬', '010-1234-1004', 45, '경기도'])
sheet.append(['a105', '이순신', '010-1234-1005', 55, '서울시'])

# 저장닫기
workbook.save('C:/Users/java2/Desktop/Member.xlsx')
workbook.close()

print('프로그램 종료...')


# 엑셀 파일 읽기
# data_only=Ture로 해줘야 수식이 아닌 값으로 받아온다.
load_wb = load_workbook("C:/Users/java2/Desktop/Member.xlsx", data_only=True)

#시트 이름으로 불러오기
load_ws = load_wb['Sheet']

#셀 주소로 값 출력
print(load_ws['A1'].value)

get_cells = load_ws['A1':'E7']

for row in get_cells:
        for cell in row:
            if cell.value != None:
                print('%s ' % cell.value, end='')
        print()