反射: 是用字符串类型的名字操作变量

反射的常用方法:hasattr  getattr

通过反射操作导入的模块或类的属性和方法

import time

key = input('>>>') #输入time
print(getattr(time,key)())

#输出结果 : 1539251866.135606

class Car:
    color = '白色'
    def driver(self):
        print('汽车正在行驶')

car = Car()
print(getattr(car,'color'))
getattr(car,'driver')()

#白色
#汽车正在行驶
View Code

通过反射操作当前文件的变量和函数

 

import sys

name = 'lesson'
def func():
    print('这是一个函数')

print(getattr(sys.modules[__name__],'name'))
getattr(sys.modules[__name__],'func')()

#lesson
#这是一个函数

 

posted on 2018-10-11 18:59  Lesson-J  阅读(92)  评论(0编辑  收藏  举报