导入包操作和本质常见方式如下:
import a.aa.module_aa : 按模块路径导入在使用时,必须加完整名称来引用. 比如:a.aa.module_aa.fun_aa()from a.aa import module_aa: 按包路径导入模块在使用时,直接可以使用模块名. 比如:module_aa.fun_aa()from a.aa.module_aa import fun_aa 按照模块路径导入指定类or方法在使用时,直接可以使用函数名。比如:fun_aa()注意事项:
from package import item 这种语法中, item 可以是包、模块,也可以是函数、类、变量(对照方式23)import item1.item2 这种语法中, item 必须是包或模块,不能是其他(对照方式1)实操代码
# 方式一: 按模块路径导入import com.time.pause.capture2.module.a.aa.module_aaprint(com.time.pause.capture2.module.a.aa.module_aa.add(10, 20))# 方式二: 按包路径导入模块from com.time.pause.capture2.module.a.aa import module_aaprint(module_aa.add(10, 20))# 方式三: 按照模块路径导入指定类or方法from com.time.pause.capture2.module.a.aa.module_aa import addadd(10, 20)import com.time.pause.capture2.module.a导入包的本质
其实是“导入了包的 __init__.py ”文件. 也就是说 import pack1 意味着执行了包 pack1 下面的 __init__.py 文件. 这样可以在 __init__.py 中批量导入我们需要的模块,而不再需要一个个导入.
实操代码: 测试包的 __init__.py 文件本质用法a 包下的 __init__.py 文件添加如下内容:
import turtleimport mathprint(导入a包)b 包下的 module_b1.py 文件中导入 a 包,添加代码如下:
import com.time.pause.capture2.module.aprint(com.time.pause.capture2.module.a.math.pi)# 如上测试我们可以看出python的设计者非常巧妙的通过__init__.py 文件将包转成了模块的操作用 * 导入包import * 这样的语句理论上是希望文件系统找出包中所有的子模块,然后导入它们. 尽管提供 import * 的方法,仍不建议在生产代码中使用这种写法 python 解决方案是提供一个明确的包索引. 这个索引由 init .py 定义 all 变量,该变量为一个列表, 如上例 a包下的 __init__.py 中,可定义 __all__ = [module_a,module_a2]
互联网巨头的逻辑变了 互联网创业更难 美团能看小说,抖音能买外卖
Elektrobit的AR软件框架EB arware正式发布
智毅聚芯完成PreA+轮融资 孵化自清华大学
氧气探测器的优势有哪些
PCB市场的未来发展方向分析
Python导入包操作和本质
第二代AMD EPYC处理器助力全新Oracle云基础设施计算E3平台
月球要用上4G网络了?
AI或可减轻放射科医师压力而非淘汰他们
云服务器是否拥有高性能的防御系统
认识基于Si1000软硬件设计无线M-Bus通信系统
使用频谱分析仪测量相位噪声方法解析
回顾2016电子行业大事件的分析盘点
诺基亚9什么时候上市?诺基亚9最新消息:搭载骁龙835的诺基亚9即将发布,你会为情怀买账吗?
iPhoneX对比三星Note8,双皇机之争!机皇谁更强?
奥迪VS宝马 谁是真正的“灯场”老大
无人驾驶知识普及:毫米波雷达在无人驾驶领域有哪些应用?
TI新型振荡器系列提供业界最低的抖动
进入多摄时代后,摄像头模组成了手机的「第二张脸」
高通完成5G米波性能测试