Python基础语法 - 反射
通过字符串的形式操作对象中的成员(一切皆为对象)
getattr
hasattr
setattr
delattr
class Foo(object): def __init__(self): self.name = 'wupeiqi' def func(self): return 'func' obj = Foo() # #### 检查是否含有成员 #### hasattr(obj, 'name') hasattr(obj, 'func') # #### 获取成员 #### getattr(obj, 'name') getattr(obj, 'func') # #### 设置成员 #### setattr(obj, 'age', 18) setattr(obj, 'show', lambda num: num + 1) # #### 删除成员 #### delattr(obj, 'name') delattr(obj, 'func')
示例
---------s2模块--------- def f1(): print('首页') def f2(): print('新闻') def f3(): print('精华') ------------------------ import s2 inp = input() if hasattr(s2,inp): func = getattr(s2,inp) result = func() print(result) else: print('404')