dir函数

时间:2023-03-08 20:52:29

dir函数:

  dir() 是一个内置函数,用于列出对象的所有属性及方法

  下面进行尝试:

  用下面两个tests test2文件做实验

  dir函数

  

#创建一个类,两个常量,类中函数test1,类中属性,
class DirTest(object):
def __init__(self):
self.name = 'self.zym'
name = 'zym' def test1(self):
print('test1') NAME = "zym"
TEST = 'zmds' res = DirTest()

tests

from web import tests

print(dir(tests.res))
print('_____') print(dir(tests))

tests2

然后执行test2文件,结果如下

['__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__', 'name', 'test1']

_____

['DirTest', 'NAME', 'TEST', 'TestCase', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'res']

结果如上:因为dir()传入的对象不同,横线上方是传入一个实例,他会打印出实例的所有,属性,test1实例化类中的函数,name为属性。

横线下方是传入tests这个文件,他会打印出里面的变量,DirTest是类,NAME,TEST是变量,res是DirTest实例化出来的类。

用途:目前在整合setting文件中用到过,将两个setting文件,搞到一块。

例如:

        for items2 in dir(m2):
if items2.isupper():
k2 = items2
v2 = getattr(m2,k2)
setattr(self,items2,v2)
将m2中的配置搞到当前文件中。