python遍历类中所有成员的方法( 二 )


('__gt__', )
('__hash__', )
('__init__', >)
('__init_subclass__', )
('__le__', )
('__lt__', )
('__module__', '__main__')
('__ne__', )
('__new__', )
('__reduce__', )
('__reduce_ex__', )
【python遍历类中所有成员的方法】('__repr__', )
('__setattr__', )
('__sizeof__', 56)
('__str__', )
('__subclasshook__', )
('__weakref__', None)
('age', 30)
('name', 'Bob')
('say_hello', >)
```
从结果中可以看出,getmembers()函数返回了所有成员,包括成员变量和成员方法,同时也包括一些内置成员 。
4. 使用__dict__属性
在Python中,每个对象都有一个__dict__属性,它是一个字典,包含了对象的所有成员 。我们可以利用这个属性来遍历类中的所有成员 。下面是一个示例:
```
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def say_hello(self):
print("Hello, my name is", self.name)
p = Person("Bob", 30)
members = p.__dict__
for member in members:
print(member)
```
上面的代码定义了一个Person类,并创建了一个对象p 。利用__dict__属性,我们可以获取p对象的所有成员 。运行结果如下:
```
name
age
```
从结果中可以看出,__dict__属性只返回了自己定义的成员变量,不包括成员方法和内置成员 。
综上所述,Python遍历类中所有成员的方法有很多种,我们可以根据需求选择合适的方法 。如果需要遍历所有成员,包括成员变量和成员方法,可以使用inspect模块的getmembers()函数或者dir()函数;如果只需要遍历成员变量,可以使用vars()函数或者__dict__属性 。

猜你喜欢