# 反射
class Webb:
def reg(self):
print("欢迎进入注册页面")
def login(self):
print("欢迎进入登录页面")
def home(self):
print("欢迎进入主页")
def about(self):
print("欢迎进入关于页面")
# 实例化
w=Webb()
# 判断是否存在
while True:
choose = input("请输入你进入的页面")
if hasattr(w, choose): # 判断输入的页面是否存在 如果存在 打印欢迎语
f = getattr(w, choose)
f()
else:
print("404")
# 反射
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")