大型工程尽可能使用绝对路径
独立项目,所有模块从项目根目录开始追溯,称相对的绝对路径
.py 文件组成的代码集合就称为模块
模块分为三种:
自定义模块 和开源模块的使用参考 http://www.cnblogs.com/wupeiqi/articles/4963027.html
用来从逻辑上组织模块的,本质就是一个目录(含有__init__
)
导入包的本质,就是解释__init__
文件, 即运行该文件
__init__.py
(package_testing 包)
print('Package testing file')
My_testing.py
import package_testing >>> Package testing file
导入包就是执行__init__
代码,无法执行包内的模块和函数。因此需要在__init__
中加载指定的函数
from . import test1
Python默认会通过下列路径搜索需要的模块
import 的本质就是路径检索
导入模块的本质就是把Python文件解释一遍
import module_name import module_name_1, module_name_2 from modules import * from modules import logger as my_logger
当导入的模块被多次函数调用,建议是使用
from module_name import my_function
__name__
当整个程序作为库被import的时候,我们并不需要测试语句。可以使用__name__
跳过
__name__
是Python中一个隐含的变量它代表了模块的名字
只有被Python解释器直接执行的模块的名字才是__main__
def lib_func(a): return a + 10 def lib_func_another(b): return b + 20 if __name__ == '__main__': test = 101 print(lib_func(test)) print('__name__:', __name__) >>> 111 __name__: __main__