您的位置:

16. Python dir()

Python dir()

更新:

dir 函数将一个对象作为输入,并返回该对象的所有属性。属性以列表的形式返回。

 **dir(object)** # object is any python object 

目录()参数:

dir()函数将一个对象作为参数。内置对象和用户定义对象可以作为参数传递。即使没有传递参数,它也不会抛出错误。

参数 描述 必需/可选
目标 要返回其属性的任何 Python 对象 可选择的

目录()返回值

函数返回传递的对象的所有属性,内置属性也返回。如果没有传递参数,则返回当前本地范围内的名称。

| 投入 | 返回值 | | 没有人 | 返回当前本地范围内的名称列表。 | | 目标 | 返回传递的对象的属性 |

Python 中dir()方法的示例

示例 1:在对象中传递构造函数

 letters = {'a':1, 'b':2, 'c':3}
# Dictionary is a built in object in python 
print(dir(letters)) 

输出:

[' class   ', '   contains   ', '   delattr   ', '   delitem   ', '   dir   ', '   doc   ', '   eq   ',
' format   ', '   ge   ', '   getattribute   ', '   getitem   ', '   gt   ', '   hash   ', '   init   ',
'    init_subclass    ', '    iter    ', '    le    ', '    len    ', '    lt    ', '    ne    ', '    new    ', '    reduce    ', ' reduce_ex ', ' repr ', ' setattr ', ' setitem ', ' sizeof ', ' str ',
' subclasshook ', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values'] 

示例 2:不传递参数

 print(dir()) 

输出:

['    annotations    ', '    builtins    ', '    cached    ', '    doc    ', '    file    ', '    loader    ', '  name ', ' package ', ' spec '] 

示例 3:传递用户定义的对象

 class Student:
name = "Ram" 
age = 22
course = "Bachelors" 
Student1 = Student() 
print(dir(Student1)) 

输出:

['    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', 'course', 'name']
# The built in attributes of class is also returned along with the user defined attributes