python面向对象编程练习:模拟银行账户【附答案】

练习题描述:
创建一个名为 BankAccount 的类,用于模拟银行账户的基本操作。具体要求如下:

初始化方法 (**init**):
接受两个参数:account_holder(账户持有者姓名)和 initial_balance(初始余额)。
将 account_holder 和 initial_balance 作为实例属性存储。
initial_balance 应该是一个私有属性,不能直接通过对象访问。

其他方法:
实现一个方法 deposit,用于向账户存款。(存款金额不能小于0)
实现一个方法 withdraw,用于从账户取款(需检查余额是否足够)。

# 创建类
class BankAccount(object):
    def __init__(self,account_holder,initial_balance):
        self.account_holder = account_holder
        self.__balance = initial_balance  # 私有属性

    def deposit(self,money):
        """存款"""
        if money > 0:
            self.__balance += money
            print(f'成功存入:【{money}】 元!')
        else:
            print('存款必须大于0!')

    def withdraw(self,money):
        """取款"""
        if self.__balance >= money:
            self.__balance -= money
            print(f'取款金额为:【{money}】 元')
        else:
            print('卡里余额不够啦!!!!')

    def __str__(self):
        return f'当前账号:{self.account_holder},卡里余额:{self.__balance} 元'

# 实例化对象
zhangsan = BankAccount('张三',1000)
print(zhangsan)
zhangsan.deposit(300)  # 存款
zhangsan.withdraw(500)  # 取款
print(zhangsan)

print('-'*30)

lisi = BankAccount('李四',500)
print(lisi)
lisi.withdraw(800)  # 取款
print(lisi)

运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值