Python 创建模块及模块导入的方法_python-PHP 源码
本文实例讲述了 Python 创建模块及模块导入的方法分享给大家供大家参考具体分析如下:
python 学习手册中写道:
定义模块, 只要使用文本编辑器, 把一些 python 代码输入到文本中, 然后以. py 为后缀名进行保存, 任何此类文件都会被认为是 python 模块
比如说, 下面的代码输入到一个文件中, 就可以看作是一个模块:defprintme(var):
printvar
if__name__=='__main__':
printme(1)
假设说输入到 a.py 中, 那么 import a 就可以把这个模块导入
然后可执行 a.printme(3), 屏幕即可打印出 3:>>>a.printme(3)
3
>>>
一个模块顶层定义的变量, 会自动变成模块的属性例如:data=[1,2,3]
defprintme(var):
printvar
if__name__=='__main__':
printme(1)
data 变量就是模块的一个属性其实 printme 也是一个属性, 只不过是一个函数罢了
引入模块示例如下:(假定此时 data=[1,2,3] 未定义)>>>importa
>>>a.data
Traceback(most recent calllast):
File"",line1,in
a.data
AttributeError:'module'objecthasnoattribute'data'
>>>reload(a)
>>>a.data
Traceback(most recent calllast):
File"",line1,in
a.data
AttributeError:'module'objecthasnoattribute'data'
>>>
从上述提示可以看出 data 属性未定义, 此时再在 a.py 文件中定义 data=[1,2,3], 重新加载 a 模块, 并输出 data 属性:>>>reload(a)
>>>a.data
[1,2,3]
>>>
这里的 reload 函数可以重新加载一个模块如果在模块代码中更改了, 那么需要重新加载
上面 a.data, 就是访问模块中的属性
上面的例子是导入一个文件作为一个模块
其实 python 的模块导入还有更丰富的内容
除了模块名之外, python 也可以导入指定目录路径 python 代码的目录就称为包因此, 这类导入就称为包导入事实上, 包导入是把计算机上的目录变成 python 的一个命名空间而属性就是目录中包含的子目录或者是模块文件
看下面例子:
在我的桌面上有一个 aa 文件夹, 里面有 bb 文件夹, bb 里面有 a.py 这个文件
那么在 aa 和 bb 文件夹中分别放置一个__init__.py, 之后, 在命令行中 import aa.bb.a, 就可以导入模块 a 了
来源: https://www.php1.cn/detail/php-f5612376b3.html