python dir()
函数用于获取对象的所有属性和方法名。它是python的内置函数。
语法
语法如下:dir([object])
参数
- object:可选参数,指定要查看的对象。
返回值
返回一个包含对象所有属性名和方法名的有序列表。
程序示例
介绍一些例子了解python dir()函数的使用方法。
例1
通过dir()函数调用。
#!/usr/bin/python
# coding=utf-8
class Person:
def __init__ (self, name, age):
self.name = name
self.age = age
def work():
print('工作日上班...')
p1 = Person('张三', 25)
print(dir(p1))
程序运行结果:
['__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__', 'age', 'name', 'work']
这里,结果中输出了person对象的 age、name属性和work方法。
例2
通过对象的__dir__() 方法调用。
#!/usr/bin/python
# coding=utf-8
class Person:
def __init__ (self, name, age):
self.name = name
self.age = age
def work():
print('工作日上班...')
p1 = Person('张三', 25)
print(p1.__dir__())
程序运行结果:
['name', 'age', '__module__', '__init__', 'work', '__dict__', '__weakref__', '__doc__', '__repr__', '__hash__', '__str__', '__getattribute__', '__setattr__', '__delattr__', '__lt__', '__le__', '__eq__', '__ne__', '__gt__', '__ge__', '__new__', '__reduce_ex__', '__reduce__', '__subclasshook__', '__init_subclass__', '__format__', '__sizeof__', '__dir__', '__class__']
从结果中可以看到对象.__dir__()方法和dir(对象)结果是一样的,但是它们的顺序不一样。