📜  Python dir()函数

📅  最后修改于: 2020-10-30 05:22:48             🧑  作者: Mango

Python dir()函数

Python dir()函数返回当前本地范围内的名称列表。如果在其上调用方法的对象具有名为__dir __()的方法,则将调用此方法,并且该方法必须返回属性列表。它采用单个对象类型参数。该函数的签名在下面给出。

签名

dir ([object])

参量

object:它带有一个可选参数。

返回

它返回对象的有效属性的列表。

让我们看一些dir()函数的例子来理解它的功能。

Python dir()函数示例1

让我们创建一个简单的示例以获取有效属性的列表。它采用单个参数,该参数是可选的。

# Python dir() function example
# Calling function
att = dir()
# Displaying result
print(att)

输出:

['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__',
 '__spec__']

Python dir()函数示例2

如果将参数传递给此函数,它将返回与该对象相关的属性。请参见下面的示例。

# Python dir() function example
lang = ("C","C++","Java","Python")
# Calling function
att = dir(lang)
# Displaying result
print(att)

输出:

['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__',
'__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', 
'__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__setattr__', '__sizeof__', '__str__', 
'__subclasshook__', 'count', 'index']

Python dir()函数示例3

# Python dir() function example
class Student():
    def __init__(self,x):
        return self.x
# Calling function
att = dir(Student)
# Displaying result
print(att)

输出:

['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__']

Python dir()函数示例4

如果在对象中已经定义了dir()函数,则将调用该函数。

# Python dir() function example
class Student():
    def __dir__(self):
        return [10,20,30]
# Calling function
s = Student()
att = dir(s)
# Displaying result
print(att)

输出:

[10, 20, 30]