python的modules

一个模块的属性都有那些?

一个module的Attribute都有哪些?

为了了解一个modulel中的所谓属性有哪些,我新建了一个空的module取名test.py, 并放到了一个文件夹中,运行了下面的代码

1
2
3
4
5
6
import pkgutil

for finder, name, ispkg in pkgutil.walk_packages(YOURPATH):
loader = finder.find_module(name)
mod = loader.load_module(name)
print(dir(mod))

得到了如下的结果

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

可知每个模块都有上面这几项
接着我在模块中谢了两个类 Test,Test1 ,还 import了个模块os

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import os

class Test():
def __init__(self):
a = 2
b = 3
c = 4


class Test1():

def __init__(self):
a = 1
b = 2
c = 3


def testfunc(self):
c=2

结果变成:

1
['Test', 'Test1', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'os']

综上可知:模块的属性除了原本就有的内置属性之外,至少包括:模块中定义的类名以及导入的包名。

鼓励一下:D