
练习题1银行账户系统封装创建一个银行账户类BankAccount实现基本的封装特性要求私有属性__account_number账号、__balance余额、__password密码提供公开方法deposit(amount, password)存款需要验证密码withdraw(amount, password)取款需要验证密码check_balance(password)查询余额需要验证密码set_password(old_password, new_password)修改密码修改密码时还得输入旧密码用于验证设置合理的属性访问控制不允许直接访问和修改私有属性提示使用双下划线前缀实现私有属性classBankAccount:def__init__(self,account_number,balance,password):self.__account_numberaccount_number self.__balancebalance self.__passwordpassworddefdeposit(self,amount,password):ifself.__password!password:print(密码不正确)returnifamount0:print(存款金额必须为正数)returnself.__balanceamountdefwithdraw(self,amount,password):ifself.__password!password:print(密码不正确!)returnifamount0:print(取款金额必须为整数)returnifself.__balanceamount:print(余额不足)returnself.__balance-amountdefcheck_balance(self,password):ifself.__password!password:print(密码不正确)returnreturnself.__balancedefset_password(self,old_password,new_password):ifself.__password!old_password:print(原密码不正确)returnself.__passwordnew_password# 测试bBankAccount(456789,0,123456)b.deposit(5000,123456)print(b.check_balance(123456))b.withdraw(2000,123456)print(b.check_balance(123456))b.withdraw(6000,123456)