python模块 用来从逻辑上组织Python代码(变量、函数、类,逻辑:实现一个功能),本质就是.py结尾的Python文件(文件名:test.py,对应的模块名:test) 下例是个简单的module_ys.py文件 def func: print('hello ys') import语句 模块的引入 模块定义好后,我们可以使用 import 语句来引入模块,语法如下: 导入单个模块:import module_name 导入多个模块:import module1_name,module2_name 导入所有模块内的变量、函数(不建议使用):from module_ys import * 比如要引用模块 math,就可以在文件最开始的地方用 import math 来引入。在调用 math 模块中的函数时,必须这样引用: 模块名.函数名 import 导入与 from module_ys import *的区别: 1、import 导入方式和调用 导入:import module_ys 调用:module_ys.func 2、from 导入方式和调用 导入:from module_ys import * 调用:func 区别就在与:import导入方式在调用是可以只针对某一个函数进行调用。from的导入方式相当于把module_ys内所有的变量和函数进行了导入,如果当前文件下也有一个重名的函数,就会把module_ys内的函数进行覆盖,无法执行,此时可通过from中的as参数进行更改,对原有函数设置别名。 可配合module_ys.py和main.py内容进行理解from module_ys import logger as log_ys module_ys.py内容: name='ys'def func: print('hello ys')def logger: print('in the logger')def running: print('hello running') main.py内容: import module_ys from module_ys import logger from module_ys import logger as log_ys#别名 print(module_ys.name) module_ys.func module_ys.logger module_ys.runningdef logger: print('in the log') logger log_ys import本质 import导入模块的本质就是把python文件解释一遍 (import test test='test.py all code') (from test import name name='code') 路径搜索:import module_name-->module_name.py-->module_name.py的路径-->sys.path import导入包的本质就是执行该包下的_init_.py文件 在package下的_init_.py内输入:print('from the package') 在p.py内调用import package,输出结果:from the package,由此可见import导入包的本质就是执行该包下的_init_.py文件。 结语 |
|