java中String.intern()方法具有什麼功能呢?
阿新 • • 發佈:2022-05-27
class User: """使用者""" count = 0 def __init__(self, name='guest', password=111111, status=1): User.count += 1 self.name = name self.password = password self.status = status def info(self): if self.status == 1: print(f'{self.name},{self.password} 賬戶正常') else: print(f'{self.name},{self.password} 賬戶被封禁') def modify_password(self): """修改密碼""" i = 0 while i < 3: n = input("請輸入舊密碼:") if eval(n) == self.password: n = eval(input("輸入新密碼:")) print('密碼修改成功!') self.password = n break else: i += 1 else: print("賬戶已鎖住,稍後再試") self.status = 0 @classmethod # 修飾符 def show_count(cls): print(f"使用者總數:{User.count}") def __del__(self): User.count-= 1 class Admin(User): """管理者""" def __init__(self, name='admin', password=999999, status=1): super().__init__(name, password, status) def info(self): print("管理者賬戶") super().info() def ban_user(self, user): user.status = 0 def unblock_user(self, user): user.status = 1 def reset_password(self, user): user.modify_password() if __name__ == "__main__": u1 = User() u1.info() admin1 = Admin() admin1.info() User.show_count() admin1.ban_user(u1) u1.info() admin1.unblock_user(u1) u1.info() admin1.reset_password(u1) del u1 User.show_count()
以上為user.py原始碼及執行截圖
from Admin_User import User,Admin u1 = User() u1.info() u1.modify_password() u1.info() admin1 = Admin() admin1.reset_password(u1) u1.info() admin1.ban_user(u1) u1.info() admin1.unblock_user(u1) u1.info()
以上為task5.py原始碼及截圖
實驗總結:
super().__init__()是子類呼叫父類的屬性相當於self.name = name,self.password=password...
super().方法 是子類呼叫父類的方法 在不新增形參時預設值應該時self,但不需要寫