要按类声明的顺序循环遍历类的所有属性,可以使用vars()
函数和sorted()
函数。
下面是一个示例代码:
class MyClass:
def __init__(self, x, y, z):
self.x = x
self.y = y
self.z = z
def method1(self):
pass
def method2(self):
pass
# 获取类的所有属性
class_attrs = vars(MyClass)
# 按属性名进行排序
sorted_attrs = sorted(class_attrs.items(), key=lambda x: x[0])
# 遍历属性并打印
for attr_name, attr_value in sorted_attrs:
print(attr_name, "=", attr_value)
在这个示例中,vars()
函数用于获取MyClass
类的所有属性和方法,并返回一个字典。然后,使用sorted()
函数对字典中的键(属性名)进行排序,并返回一个有序的属性列表。最后,使用for
循环遍历有序属性列表,并打印属性名和对应的值。
请注意,vars()
函数返回的字典也包含了类的方法。如果只想获取类的属性,可以在遍历属性时添加一个条件判断,只处理属性而忽略方法。
上一篇:按类名统计正在运行的程序数量