潇洒郎: Python 区分判断对象或类的属性与方法|未知对象如何学习使用?

发布时间:2023年12月21日

1、前言

我们通过dir(obj)来打印对象的所能调用的对象,包含能访问的方法以及变量,但是不知道哪些是变量,哪些是方法?

如dir(a)= ['text', 'attrs']

根据英文含义我们可以得知text用来获取文本的,但是如何使用呢?

那么是 a.text, 还是a.text()?

如果text只是一个属性,那么我们可以直接通过 a.text获取文本内容

如果text是一个方法,那么我们必须使用a.text()进行调用才能获取到文本内容

因此,我们需要一个方法来区分对象可调用的对象是属性还是方法。

2、示例

class A:
    def __init__(self):
        self.a = 1
        self.b = 2

    def func(self):
        pass

a = A()

我们要知道被实例化的对象a可调用的对象dir(a)种哪些是变量,哪些是方法?

方法判断结果为

属性为:['b', 'a', '__weakref__', '__module__', '__doc__', '__dict__']
方法为:['func', '__subclasshook__', '__str__', '__sizeof__', '__setattr__', '__repr__', '__reduce_ex__', '__reduce__', &#

文章来源:https://blog.csdn.net/qq_32711799/article/details/135131019
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。