📅  最后修改于: 2020-10-30 05:22:48             🧑  作者: Mango
Python dir()函数返回当前本地范围内的名称列表。如果在其上调用方法的对象具有名为__dir __()的方法,则将调用此方法,并且该方法必须返回属性列表。它采用单个对象类型参数。该函数的签名在下面给出。
dir ([object])
object:它带有一个可选参数。
它返回对象的有效属性的列表。
让我们看一些dir()函数的例子来理解它的功能。
让我们创建一个简单的示例以获取有效属性的列表。它采用单个参数,该参数是可选的。
# Python dir() function example
# Calling function
att = dir()
# Displaying result
print(att)
输出:
['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__',
'__spec__']
如果将参数传递给此函数,它将返回与该对象相关的属性。请参见下面的示例。
# 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() 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__']
如果在对象中已经定义了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]