定义一个类 BankAccount ,具有属性 balance 和 account _ number ,以及方法 deposit ( amount ,account _ number )和 withdrawal ( amount ,account _ number )函数。
时间: 2024-10-17 13:08:21 浏览: 49
好的,我们可以定义一个名为 `BankAccount` 的类,用于表示银行账户,它有两个属性 `balance` 表示账户余额,`account_number` 表示账户号码,同时提供两个方法 `deposit()` 和 `withdrawal()` 分别用于存款和取款操作。下面是具体的代码:
```python
class BankAccount:
def __init__(self, balance=0, account_number=None):
"""
初始化一个银行账户,设置初始余额和账户号码。
参数:
balance -- 初始余额,默认为0
account_number -- 账户号码,默认为None,需要在实例化时提供
"""
self.balance = balance
self.account_number = account_number
def deposit(self, amount, account_number=None):
"""
存款方法,将指定金额存入账户。
参数:
amount -- 需要存款的金额
account_number -- 可选的账户号码,如果不传递则默认当前账户
"""
if account_number and account_number != self.account_number:
raise ValueError("Invalid account number")
self.balance += amount
def withdrawal(self, amount, account_number=None):
"""
提现方法,从账户中取出指定金额。
参数:
amount -- 可选的账户号码,如果不传递则默认当前账户
"""
if account_number and account_number != self.account_number:
raise ValueError("Invalid account number")
if self.balance < amount:
raise InsufficientBalanceError("Insufficient balance")
self.balance -= amount
# 示例用法
account = BankAccount(account_number="123456789")
account.deposit(1000)
account.withdrawal(500)
```
在这个类中,`deposit()` 和 `withdrawal()` 方法都允许传入账户号码进行校验,防止非法操作。如果尝试对错误的账户进行存款或取款,会抛出异常。
阅读全文