以下列出了几个内建方法,可以用来检查或是访问对象的属性。这些方法可以用于任意对象而不仅仅是例子中的cat实例对象;
#coding:utf-8from a import *cat = cat('kitty')print cat.namecat.sayhi() #调用实例方法print dir(cat)if hasattr(cat, 'name'): #检查实例是否有这个属性 setattr(cat, 'name', 'tiger') #same as: a.name = 'tiger' print getattr(cat, 'name') #same as: print a.namegetattr(cat, 'sayhi')()
dir([obj]):
调用这个方法将返回包含obj大多数属性名的列表(会有一些特殊的属性不包含在内)。obj的默认值是当前的模块对象。
hasattr(obj, attr):
这个方法用于检查obj是否有一个名为attr的值的属性,返回一个布尔值。
getattr(obj, attr):
调用这个方法将返回obj中名为attr值的属性的值,例如如果attr为’bar’,则返回obj.bar。
setattr(obj, attr, val):
调用这个方法将给obj的名为attr的值的属性赋值为val。例如如果attr为’bar’,则相当于obj.bar = val。
以上就是在 python 中如何得到对象的所有属性的详细内容。
