这篇文章将为大家详细讲解有关python反射机制是什么?什么是python反射机制的内容,文章内容质量较高,因此分享给大家可以拿来做个参考,希望大家阅读完这篇文章后对相关知识会有一定的了解。
反射
反射弧大家都了解吧,就是在一定条件下产生的一种动态模式,在python中反射机制也是如此,在运行时,通过动态来确定一个对象的类型,并可以对字符串进行调用对象属性、方法还可以导入模块。
因为Python是一门解释型语言,所有它对反射弧机制一直很支持,其中以下这些函数都可以执行字符串并且支持反射弧机制
exec()
使用这个函数,能执行复杂的表达式,但是它的返回值永远是none,看个例子
b = exec("aa = 21") print(b)
运行结果: None
注意:eval()函数和exec()函数不同的是,一个可以有返回值,而另一个的返回值永远为None。
eval()
这个函数我们之前也有详细的讲解过,它是可以用来计算表达式的值,并且只能执行一个表达式还不能赋值使用。
例如:
a = "12 + 43" b = eval(a) print(b)
导入模块
# 导入模块exec("import config")
print(config.KEYWORD)# 动态创建类class Base: def __init__(self): print("Base") a = "Base"exec(a+"()")
一般使用这个函数只是更好的获取表达式计算出来的值,也就是它的返回值。
import
在学习exec的时候,我们有一个例子中,就使用import函数导入配置文件exec("import config")。导入模块这个功能是非常强大的,我们可以通过这个功能在动态模式下创建各种模块类。
通过以上的函数学习,其中有常用的,也有不常用的,但是这些函数在我们进行框架设计时是必不可少的,尤其是__import__,几乎在导入模块的时候都会用到这个函数,以上就是有关“python反射机制是什么?什么是python反射机制”的相关内容,希望能给你们的学习带来帮助。
更多python相关文章请访问分类:python
【版权声明】本文图文出自大盘站@dapan.cc,转载请注明出处!