Python输出对象的属性
一、getattr()函数
python 内置函数, getattr() 函数用于返回一个对象属性值。
描述
getattr() 函数用于返回一个对象属性值。
语法
getattr 语法:
getattr(object, name[, default])
参数
- object – 对象。
- name – 字符串,对象属性。
- default – 默认返回值,如果不提供该参数,在没有对应属性时,将触发 AttributeError。
返回值
返回对象属性值。
实例
以下实例展示了 getattr 的使用方法:
class A(object):
bar = 1
a = A()
getattr(a, 'bar')
>>>1
# 获取属性 bar 值 1
getattr(a, 'bar2')
# 属性 bar2 不存在,触发异常
>>>Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'A' object has no attribute 'bar2'
getattr(a, 'bar2', 3) # 属性 bar2 不存在,但设置了默认值 3
>>>3
二、callable()函数
描述
callable() 函数用于检查一个对象是否是可调用的。
对于函数、方法、lambda 函式、 类以及实现了 call 方法的类实例, 它都返回 True。
语法
callable()方法语法:
callable(object)
参数
- object – 对象
返回值
可调用返回 True,否则返回 False。
实例
以下实例展示了 callable() 的使用方法:
>>>callable(0)
False
>>> callable("runoob")
False
>>> def add(a, b):
... return a + b
...
>>> callable(add) # 函数返回 True
True
>>> class A: # 类
... def method(self):
... return 0
...
>>> callable(A) # 类返回 True
True
>>> a = A()
>>> callable(a) # 没有实现 __call__, 返回 False
False
>>> class B:
... def __call__(self):
... return 0
...
>>> callable(B)
True
>>> b = B()
>>> callable(b) # 实现 __call__, 返回 True
True
三、总结
那么我现在想要 输出对象的所有属性
使用 getattr() 和 callable() 来实现访问类对象的成员; dir()可以列出对象的所有成员名
class A():
def __init__(self):
self.name = 'pp'
self.age = 12
self.len = 18.4
self.height = 24
a = A ()
for i_name in dir(a):
if not callable(a) and not i_name.startswith('__'):
print(i_name, getattr(a, i_name))
>>> 输出
age 12
height 24
len 18.4
name pp
🐷
本文详细介绍了Python中获取对象属性的方法,包括使用内置函数`getattr`和`callable`。通过实例解析了如何查看和检查对象的属性值,以及判断对象是否可调用。
3087

被折叠的 条评论
为什么被折叠?



