📜  如何在python中打印类属性(1)

📅  最后修改于: 2023-12-03 14:52:50.342000             🧑  作者: Mango

如何在python中打印类属性

在Python中,类属性是类级别的属性,它被所有实例共享。如果你想要打印类的属性,有几种方法可以实现。

方法一:

可以使用 dir() 函数来列出类的所有属性和方法,这包括类的属性和方法、父类的属性和方法等。使用 dir() 函数返回一个列表,你可以通过遍历列表来获取类的属性。

class MyClass:
    num = 0
    str = "hello"

print(dir(MyClass))

上述代码会输出以下内容:

['__doc__', '__module__', 'num', 'str']

这个输出包含了类 MyClass 的所有属性和方法。从这个输出中,我们可以看到 numstr 是类的属性。

方法二:

也可以使用 __dict__ 属性来获取类的所有属性和值。__dict__ 返回一个字典,键是属性名,值是属性值。

class MyClass:
    num = 0
    str = "hello"

print(MyClass.__dict__)

上述代码会输出以下内容:

{'__module__': '__main__', 'num': 0, 'str': 'hello', '__dict__': <attribute '__dict__' of 'MyClass' objects>, '__weakref__': <attribute '__weakref__' of 'MyClass' objects>, '__doc__': None}

这个输出包含了类 MyClass 的所有属性和方法。从这个输出中,我们可以看到 numstr 是类的属性。

方法三:

可以通过创建一个静态方法,来打印类的属性。

class MyClass:
    num = 0
    str = "hello"

    @staticmethod
    def my_method():
        print(f'num = {MyClass.num}')
        print(f'str = {MyClass.str}')

MyClass.my_method()

上述代码会输出以下内容:

num = 0
str = hello

这是因为静态方法可以访问类的属性,通过调用 MyClass.my_method() 来打印类的属性。

以上三种方法都可以用来打印类的属性,具体使用哪一种方法,可以根据实际情况和个人喜好来选择。