如何查看一个类中的所有函数(python)

我们在使用很多库的时候,往往会用到很多已经定义好的类,如torch中的torch.nn.Module.我们如何能快速的查看类的所有属性和方法,本文将用代码示例为您讲解。

定义一个类

class student():
    def __init__(self, name , id ):
        self.name = name
        self.id = id 

    def my_len(self):
        print("data is loss")
        
    def __len__(self):
        return 3

类内部数据的探索

这样我们就定义好了一个类,接下来我来尝试创建一个类的实例,并探索一下类的内部数据的调用。其中ab就是我们创建的实例。

a = student("suke",23)
b = student("youyang",24)

print(a.name)

print(b.id)
b.id = 26
print(b.id)

结果

suke
24
26

查看实例的类名以及类属性和方法

我们来尝试一下查看类的属性和方法 ,通过type()函数可以得到已经创造实例的类名,通过dir()可以查看该类名下的所有函数。

print(type(a))
print(type(b))

print(dir(student))

结果

<class '__main__.student'>
<class '__main__.student'>
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__len__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'my_len']

类函数的调用

我们会发现类内有很多__开头的我们并没有定义的函数,是因为这些都是python类自带的函数,如果没有单独定义则内容为pass,也可以单独定义。自定义的函数只能用实例名.函数名来调用,但是如果是python的类内函数可用函数名(实例名)的方式来调用。以下是一个例子:

b.my_len()

print(b.__len__())
print(len(b))

结果

data is loss
3
3

你可能感兴趣的:(实践小笔记)