python的dir()⽤法_Pythondir()⽤法及代码⽰例
dir()是Python3中强⼤的内置函数,它返回任何对象的属性和⽅法的列表(例如函数,模块,字符串,列表,字典等)。
⽤法:
dir({object})
参数:
object [optional]:Takes object name
返回:
dir() tries to return a valid list of attributes of the object it is called upon. Also, dir() function behaves rather differently with different type of objects, as it aims to produce the most relevant one, rather than the complete information.
For Class Objects, it returns a list of names of all the valid attributes and base attributes as well.
For Modules/Library objects, it tries to return a list of names of all the attributes, contained in that module.
If no parameters are passed it returns a list of names in the current local scope.
代码1:有和没有导⼊外部库。
# Python3 code to demonstrate dir()
# when no parameters are passed
# Note that we have not imported any modules
print(dir())
# Now let's import two modules
import random
import math
# return the module names added to
# the local namespace including all
# the existing ones as before
print(dir())
输出:
['__builtins__', '__cached__', '__doc__', '__file__', '__loader__',
'__name__', '__package__', '__spec__']
['__builtins__', '__cached__', '__doc__', '__file__', '__loader__',
'__name__', '__package__', '__spec__', 'math', 'random']
代码2:
# Python3 code to demonstrate dir() function
# when a module Object is passed as parameter.
# import the random module
import random
# Prints list which contains names of
# attributes in random function
print("The contents of random library are::")
# module Object is passed as parameter
print(dir(random))
输出:
The contents of random library are::
['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST', 'SystemRandom', 'TWOPI', '_BuiltinMethodType', '_MethodType', '_Sequence',
'_Set', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__',
'__name__', '__package__', '__spec__', '_acos', '_ceil', '_cos', '_e', '_exp',
'_inst', '_log', '_pi', '_random', '_sha512', '_sin', '_sqrt', '_test', '_test_generator',
'_urandom', '_warn', 'betavariate', 'choice', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'lognormvariate', 'normalvariate', 'paretovariate', 'randint', 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle', 'triangular', 'uniform', 'vonmisesvariate', 'weibullvariate']
代码3:对象作为参数传递。
# When a list object is passed as
# parameters for the dir() function
# A list, which conatains
# a few random values
geeks = ["geeksforgeeks", "gfg", "Computer Science",
"Data Structures", "Algorithms" ]
# dir() will also list out common
# attributes of the dictionary
d = {}  # empty dictionary
# dir() will return all the available
# list methods in current local scope
print(dir(geeks))
# Call dir() with the dictionary
# name "d" as parameter. Return all
# the available dict methods in the
# current local scope
print(dir(d))
输出:
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__',
'__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__',
'__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__',
random python'__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__',
'__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear',
'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
['__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__',
'__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__',
'__hash__', '__init__', '__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']
代码4:⽤户定义的-具有可⽤__dir()__⽅法的类对象作为参数传递。
# Python3 program to demonstrate working
# of dir(), when user defined objects are
# passed are parameters.
# Creation of a simple class with __dir()__
# method to demonstrate it's working
class Supermarket:
# Function __dir()___ which list all
# the base attributes to be used.
def __dir__(self):
return['customer_name', 'product',
'quantity', 'price', 'date']
# user-defined object of class supermarket
my_cart = Supermarket()
# listing out the dir() method
print(dir(my_cart))
输出:
['customer_name', 'date', 'price', 'product', 'quantity']
应⽤范围:
dir()有⾃⼰的⼀套⽤途。它通常⽤于简单的⽇常程序中的调试⽬的,甚⾄在由开发⼈员团队承担的⼤型项⽬中也是如此。 dir()列出列出传递的参数的所有属性的功能,在分别处理许多类和函数时确实⾮常有⽤。
dir()函数还可以列出模块/列表/字典的所有可⽤属性。因此,它还为我们提供了有关可⽤列表或模块可以执⾏的操作的信息,当对模块的了解很少甚⾄根本没有信息时,这将⾮常有⽤。它还有助于更快地了解新模块。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。