您的位置:首页 > 编程语言 > Python开发

python基础之类的isinstance与issubclass、反射

2017-04-24 17:11 387 查看

一 isinstance(obj,cls)和issubclass(sub,super)

isinstance(obj,cls)检查是否obj是否是类 cls 的对象

class Foo:
pass

obj = Foo()

print(isinstance(obj,Foo))


issubclass(sub, super)检查sub类是否是 super 类的派生类

class Foo:
pass

class Bar(Foo):
pass

print(issubclass(Bar,Foo))


二 反射

1、什么是反射
主要是指程序可以访问、检测和修改它本身状态或行为的一种能力(自省)。

2、python面向对象中的反射:通过字符串的形式操作对象相关的属性。python中的一切事物都是对象(都可以使用反射)

基于对象级别的反射

基于类级别的反射

基于模块级别的反射

四个可以实现自省的函数:

# m=input("请输入你要导入的模块:")

# m1=__import__(m)
# print(m1)
# print(m1.time())

#推荐使用方法
import importlib
t=importlib.import_module('time')
print(t.time())


通过字符串导入模块
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: