这篇文章将为大家详细讲解有关python反射机制是什么?什么是python反射机制的内容,文章内容质量较高,因此分享给大家可以拿来做个参考,希望大家阅读完这篇文章后对相关知识会有一定的了解。

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,转载请注明出处!