# -*- coding: UTF-8 -*- #反射:用字符串类型的名字去获取 变量 # hasattr() # getattr() # setattr() # delattr() name = 1 eval("print(name)") #安全隐患 #反射 没有安全隐患 #反射对象中的属性和方法 class A: def func(self): print("in func") a = A() a.name = "nezha" a.age = 68 # 1、反射对象的属性---- print(getattr(a,"name"))#通过变量的字符串形式取到值 变量名 = input('>>>>') #古老的解决办法 if 变量名 == 'name': print(a.name) elif 变量名 == 'age': print(a.age) #古老的字典解决办法: print(a.__dict__[变量名]) #反射解决办法 print(getattr(a,变量名))