用python语言设计一个 银行账户类:Account,该类包含三个成员变量: 账号、用户名、余额。该类提供三个方法:存款、取款、转账。初始化时,账户余额为0,取款和转账前需判断余额是否充足,余额不足时,操作失败,打印相关提示信息。如果两个账户账号相同时,则认为它们是同一个账户。打印账户对象时,将会显示账号、用户名、余额等基本信息。(提示重写eq方法、str 方法)
时间: 2023-11-22 08:55:31 浏览: 195
以下是一个实现了上述要求的银行账户类 `Account` :
```python
class Account:
def __init__(self, account_num, username):
self.account_num = account_num
self.username = username
self.balance = 0
def deposit(self, amount):
self.balance += amount
def withdraw(self, amount):
if amount <= self.balance:
self.balance -= amount
else:
print("余额不足,无法完成取款。")
def transfer(self, other_account, amount):
if self.account_num == other_account.account_num:
print("不能向同一个账户转账。")
return
if amount <= self.balance:
self.balance -= amount
other_account.balance += amount
else:
print("余额不足,无法完成转账。")
def __eq__(self, other):
return self.account_num == other.account_num
def __str__(self):
return "账号:{},用户名:{},余额:{}".format(self.account_num, self.username, self.balance)
```
在上面的代码中,`Account` 类有三个成员变量: `account_num` 表示账号,`username` 表示用户名,`balance` 表示余额。在初始化时,余额始终为0。该类还提供了三个方法: `deposit` 表示存款, `withdraw` 表示取款, `transfer` 表示转账。在取款和转账时,会检查余额是否足够,如不足则会打印相关提示信息。如果两个账户的账号相同时,则认为它们是同一个账户。在打印账户对象时,会显示账号、用户名和余额等基本信息。`__eq__` 方法重写用于比较两个账户对象的账号是否相同。`__str__` 方法重写用于打印账户对象的基本信息。
阅读全文