# 反射 class Website: def register(self): print("欢迎进入注册页面") def login(self): print("欢迎进入登录界面") def home(self): print("欢迎进入主页") def about(self): print("关于我们") # 将类做实例化对象为website website=Website() while True: choose=input("请输入你要进入的页面") # if choose=="register": # page=Website() # page.register() # elif choose=="login": # page=Website() # page.login() # elif choose == "home": # page = Website() # page.home() # elif choose == "about": # page = Website() # page.about() # else: # print("404") # 使用反射 改良后 if hasattr(website,choose):# hasattr=have attribute 是否有属性 ; 有则返回 True f= getattr(website,choose)# getattr=get attribute 获得属性 ;将对象 website 的属性 choose 的值赋给变量 f f()# 调用变量 f 所引用的函数 else: print("404")
标签:Website,website,self,getattr,choose,print,page,hasattr,赋值 From: https://www.cnblogs.com/haha1988/p/17556066.html