反射练习

import sys
class Authentic:
def __init__(self,name,age):
self.name = name
self.age = age
def register(self):
print('注册')
def login(self):
print('登录')
l = [('登录','login'),('注册','register')]
# 循环这个列表
# 显示 序号 用户要做的操作
# 用户输入序号
# 你通过序号找到对应的login或者register方法
# 先实例化
# 调用对应的方法,完成登录或者注册功能
name=input("请输入姓名")
age=input("请输入年龄")
num=int(input("请输入序号:1:登录 2:注册"))
person=Authentic(name,age)
getattr(person,l[num-1][1])()

class User:
def __init__(self,name,age,gender):
self.name = name
self.age = age
self.gender=gender
def eat(self):
print('eat')
def sleep(self):
print('sleep')

# 用户输入用户名密码性别
# 实例化对象
# 用户任意输入内容 : 不能用异常处理
# 如果输入的是属性名 打印属性值
# 如果输入的是方法名 调用fangfa
# 如果输入的什么都不是 不做操作
name=input("请输入姓名").strip()
age=int(input("请输入年龄").strip())
gender=input("请输入性别").strip()
person=User(name,age,gender)
search=input('输入查询的属性')
if hasattr(person,search):
if callable(getattr(person,search)):
getattr(person, search)()
else:
print(getattr(person,search))
else:
print("没有该属性")




原文地址:https://www.cnblogs.com/diracy/p/13461700.html