要实现打印类的所有属性和方法,可以通过dir()函数获取类的所有成员。dir()函数返回的是一个字符串列表,包含了对象或者类所定义的所有属性、方法以及内建的属性、方法。接下来可以遍历这个列表,对于每个元素进行处理,输出属性或者方法名。
下面是一个示例代码:
class MyClass(object):
i = 123
def __init__(self, name):
self.name = name
def say_hello(self):
print("Hello,", self.name)
# 获取类的所有成员
members = dir(MyClass)
# 遍历所有成员并输出名称
for member in members:
print(member)
上述代码中,我们定义了一个MyClass类,并使用dir()函数获取该类的所有成员。接着遍历所有成员并输出名称。
输出结果如下:
__class__
__delattr__
__dict__
__dir__
__doc__
__eq__
__format__
__ge__
__getattribute__
__gt__
__hash__
__init__
__init_subclass__
__le__
__lt__
__module__
__ne__
__new__
__reduce__
__reduce_ex__
__repr__
__setattr__
__sizeof__
__str__
__subclasshook__
__weakref__
i
say_hello
除了dir()函数之外,也可以使用vars()函数获取类的所有属性和值。vars()函数只适用于对象,而不适用于类。下面是一个示例代码:
class MyClass(object):
i = 123
def __init__(self, name):
self.name = name
def say_hello(self):
print("Hello,", self.name)
# 创建对象
obj = MyClass("World")
# 获取对象的所有属性和值
my_dict = vars(obj)
# 遍历所有属性并输出名称和值
for key, value in my_dict.items():
print(key, ":", value)
上述代码中,我们定义了一个MyClass类,并创建了一个对象obj。接着使用vars()函数获取obj的所有属性和值,遍历字典并输出每隔属性名和属性值。
输出结果如下:
name : World
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python实现打印类的所有属性和方法 - Python技术站