# python 中的模块和包 # /usr/sbin/py/python # -*-coding:utf8-*- # 模块概念 :在python中一个.py文件就是一个模块 # 模块分类:模块一共分为三种:标准库,自定义,第三方 def sumTest(*args): i=0 for a in args: i+=a print(i) print("hello world") # 包:特点,包下都有一个 __init__.py 文件 主要用于业务划分 # 包的调用原理和模块基本相同,只是init文件执行不执行的问题 # 知识点补充 print(__name__) # 系统变量 __main__ # if __name__ =="__main__" 加到bin入口文件中,禁止他人调用入口文件,防止所有的程序都被调用一遍 --------------------------------------------------------------------------------------》
# 执行文件------------------------------------------------------------》 import test08 test08.sumTest(1,2,3) # 上面这种引用会执行整个被引用文件中的代码 # from test08 import * 这种引用方式不推荐,可能会造成覆盖引用文件中的函数 # from test08 import sumTest #根据执行文件的特性这种引入并不靠谱,当执行文件不是当前文件时,test08不一定能找到 from methodPy.test08 import sumTest # 这样才是靠谱的使用 sumTest(1,2) # 这种引用方式可以直接使用目标方法 import sys print(sys.path) # 导入文件时,会在该列表的路径下去找对应文件:包含了python安装路径和执行文件所在的目录以及工程目录 for dir in sys.path: print(dir) # D:\pythonProject\methodPy # D:\pythonProject # D:\soft\python\pycharm\PyCharm 2019.3.2\plugins\python\helpers\pycharm_display # D:\environmentOf\pythonEnvironment\python38.zip # D:\environmentOf\pythonEnvironment\DLLs # D:\environmentOf\pythonEnvironment\lib # D:\environmentOf\pythonEnvironment # D:\pythonProject\venv # D:\pythonProject\venv\lib\site-packages # D:\pythonProject\venv\lib\site-packages\setuptools-40.8.0-py3.8.egg # D:\pythonProject\venv\lib\site-packages\pip-19.0.3-py3.8.egg # D:\soft\python\pycharm\PyCharm 2019.3.2\plugins\python\helpers\pycharm_matplotlib_backend ------------------------------------------------------------------------》
多级引用
import sys print("-------------------") for dir in sys.path: print(dir) from methodPy.abc.er import pr pr()