basic_knowledge 模块基础
Table of Contents

模块基本使用

路径

大型工程尽可能使用绝对路径

独立项目,所有模块从项目根目录开始追溯,称相对的绝对路径

定义

.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默认会通过下列路径搜索需要的模块

  1. 程序所在的文件夹
  2. 操作系统环境变量PYTHONPATH所包含的路径
  3. 标准库的安装路径

导入方法

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__