python - 自省

自省,简单的说就是使用一些机制实现自我检查,程序员可以使用这些机制查看各个对象或类型的信息。

 

python中的自省机制:

 

help:

 

help():查看python自带的帮助文档信息。

 

help(arg):查看类型或对象所对映的类型信息,arg为类型或对象的变量、名称或名称字符串形式

 

注:help(None)抛出AttributeError异常:ModifiedInterpreter instance has no attribute 'interp'

 

dir:

 

dir():查看当前模块所有的类,对象,方法

 

dir(arg):查看类型或对象的成员,arg为类型名称或对象变量

 

type:

 

type(arg):返回对象的类型(不是字符串形式)。

 

type("string") => str

 

type([]) => list

 

type({}) => dict

 

type(1) => int

 

type(1.0) => float

 

type(False) => bool

 

type(None) => NoneType

 

type(自定义类型) => classobj

 

type(自定义类型对象) => instance

 

type(sys) => module

 

type(file) => type

 

id:

 

id(arg):返回对象的"唯一序号",数字字符串,其中,对于引用类型返回的是被引用对象的id,arg为类型名称或对象变量

 

callable:

 

callable(arg):判断对象是否可以调用,返回True的有类和类的方法,对象和对象的方法。

 

isinstance:

 

isinstance(var,class):确定某个变量是否是某种类型。

 

注:isinstance(var,type(var)) => True

 

hasattr和getattr:

 

hasattr(obj,'attrName')和getattr(obj,'attrName')分别判断对象是否有某个属性或获取某个属性值

 

注:获取不存在的属性值,抛出AttributeError异常。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值