import 方式导入模块
import tool.getsum.add # 导入模块,优先会从启动文件的当前目录开始寻找 # 如果找到,就使用 # 如果找不到,会在系统模块存放目录去 tool.getsum.add.add2num(2,5)
from...import
-
导入模块
from tool import add add.add2num(3,9) # import tool.add # tool.add.add2num(3, 9)
-
导入模块中的标识符
-
情况一,指定标识符来导入
# from ... import .... # from 什么什么模块 import 什么什么标识符 from getsum.add import add2num add2num(3,7) import 的标识符,指定了什么,才能用什么。 没有指定标识符不可用
-
情况二,导入模块中的全部标识符,通过*代表一切
from getsum.add import * add2num(3,7) print(name) print(age) 这种导入方式,要注意名称的冲突
-
两者的比较
# from ... import .... # from(从) 哪里 import(导入) 什么 # from getsum import add # add.add2num(1,5) # import getsum.add # getsum.add.add2num(1,5)
# __name__
if __name__ == "__main__": 重要
用途
模块作者测试模块本身功能的时候
把测试的代码
写在if的判断下面,例如
add.py def add2num(n1, n2): print(n1+n2) name = "张三" age = 18 if __name__ == "__main__": print('add模块的测试数据。。。。') print(__name__, type(__name__)) add2num(100,200)
包
包是一个类似于文件夹的一个东西
它里面存放多个模块(多个py文件)
包是一个特别的文件夹,区别就是比普通文件夹多一个__init__.py
创建包的两种方式
什么是包,它的功能
包主要是一个收集模块的一个容器
我们会把多个功熊相近的模块,存放到一个包中
如何创建一个包
包的本质就是一个文件夹,比普通文件夹,它多一个__init__.py
第一种创建方式
直接新建文件夹,然后在文件夹下,创建一个py文件,命名为__init__.py
第二种创建方式
直接通过pycharm创建,创建一个python package
让包中的模块可以被使用
需要在包里面的init文件中,对模块进行一个导入
注意点
导入的时候,要以init文件为起始目录
所以需要用 from .
这种方式
一般的情况
from . import 模块名
特殊的情况
解释器的版本
手动设置或者修改python解释器