ch0nny_log

[빅데이터분석] Python_26. 클래스 이해하기 본문

빅데이터 분석(with 아이티윌)/python

[빅데이터분석] Python_26. 클래스 이해하기

chonny 2024. 8. 9. 11:43

 

class Gun():
    def charge(self, num):
        self.bullet = num 
        print(self.bullet, '발이 장전 되었습니다.')

    def shot(self, num):
        for i in range(1, num + 1):
            if self.bullet > 0:
                print('탕!')
                self.bullet -= 1
            elif self.bullet == 0:
                print('총알이 없습니다.')
                break

    def check_bullets(self):
        print('남은 총알:', self.bullet, '발')

# 사용 예시
gun = Gun()
gun.charge(5)
gun.shot(3)
gun.check_bullets()  # 남은 총알: 2 발
gun.shot(3)
gun.check_bullets()  # 남은 총알: 0 발

class Card():
    def __init__(self):
        self.money=0
        print("카드가 발급 되었습니다.", self.money, "원이  충전되었습니다.")


    def charge(self, num):
        self.money = num
        print(self.money,"원이 충전 되었습니다.")


    def consume(self, num):
        if self.money > 0:
            print(num, "원이 사용되었습니다.")
            self.money = self.money-num

        elif self.money == 0:
            print("잔액이 없습니다.")

        print(self.money, "원 남았습니다.")

# 사용 예시
card1 = Card()
card1.charge(10000)
card1.consume(5000)

 

 


 

class BankAccount:
    # 생성자 메서드
    def __init__(self, owner, balance=0):
        self.owner = owner
        self.balance = balance

    # 입금 메서드
    def deposit(self, amount):
        self.balance += amount
        print(f"{amount}원이 입금되었습니다. 현재 잔액: {self.balance}원")

    # 출금 메서드
    def withdraw(self, amount):
        if amount > self.balance:
            print("잔액이 부족합니다.")
        else:
            self.balance -= amount
            print(f"{amount}원이 출금되었습니다. 현재 잔액: {self.balance}원")

# 계좌 생성
my_account = BankAccount("홍길동", 1000)

# 입금
my_account.deposit(500)  # 500원이 입금되었습니다. 현재 잔액: 1500원

# 출금
my_account.withdraw(200)  # 200원이 출금되었습니다. 현재 잔액: 1300원

# 잔액보다 큰 금액 출금 시도
my_account.withdraw(1500)  # 잔액이 부족합니다.

class BankAccount:
    # 생성자 메서드
    def __init__(self, owner, balance=0):
        self.owner = owner
        self.balance = balance

    # 입금 메서드
    def deposit(self, amount):
        self.balance += amount
        print(f"{amount}원이 입금되었습니다. 현재 잔액: {self.balance}원")

    # 출금 메서드
    def withdraw(self, amount):
        if amount > self.balance:
            print("잔액이 부족합니다.")
        else:
            self.balance -= amount
            print(f"{amount}원이 출금되었습니다. 현재 잔액: {self.balance}원")

    # 이체 메서드
    def transfer(self, amount, other_account):
        if amount > self.balance:
            print("잔액이 부족하여 이체할 수 없습니다.")
        else:
            self.balance -= amount
            other_account.deposit(amount)
            print(f"{amount}원이 {other_account.owner}님께 이체되었습니다. 현재 잔액: {self.balance}원")

# 사용 예시
account1 = BankAccount("홍길동", 1000)
account2 = BankAccount("김철수", 500)

# 이체
account1.transfer(300, account2)  # 300원이 김철수님께 이체되었습니다. 현재 잔액: 700원