'''
反射
'''
def add(self):
print("我是新绑定的方法!")
class People(object):
skin = "yellow"
def __init__(self, name, age):
self.name = name
self.age = age
def say(self, content):
print("说了[%s]" % content)
choice = input(">>").strip()
# if choice in People.__dict__:
# print("有此方法")
# print(People.__dict__) #打印所有类属性和方法
# p = People("小白", "26")
# print(p.__dict__) #打印所有的实例属性
p = People("小白", "26")
if hasattr(p, choice):
#如果是方法,直接执行
try:
func = getattr(p, choice)
func("打工不可能打工的!")
#输入是属性,则会报TypeError,则直接打印得到属性值
except TypeError as e:
print(func)
else:
setattr(p, choice, add)
func = getattr(p, choice)
func(p)
#delattr(p, choice) #删除属性和方法