📅  最后修改于: 2023-12-03 14:52:50.342000             🧑  作者: Mango
在Python中,类属性是类级别的属性,它被所有实例共享。如果你想要打印类的属性,有几种方法可以实现。
可以使用 dir()
函数来列出类的所有属性和方法,这包括类的属性和方法、父类的属性和方法等。使用 dir()
函数返回一个列表,你可以通过遍历列表来获取类的属性。
class MyClass:
num = 0
str = "hello"
print(dir(MyClass))
上述代码会输出以下内容:
['__doc__', '__module__', 'num', 'str']
这个输出包含了类 MyClass
的所有属性和方法。从这个输出中,我们可以看到 num
和 str
是类的属性。
也可以使用 __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
的所有属性和方法。从这个输出中,我们可以看到 num
和 str
是类的属性。
可以通过创建一个静态方法,来打印类的属性。
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()
来打印类的属性。
以上三种方法都可以用来打印类的属性,具体使用哪一种方法,可以根据实际情况和个人喜好来选择。