1、简介
2、模块的表现形式
1、自定义模块
2、内置模块
3、第三方模块
关键词:import
导入用法:
import 模块名
优点:
1、可以一次性导入所有模块名称空间中名字
2、需要模块名加点的方式才能调用,不易弄混
缺点:
1、必须要模块名加点的方式才能调用,比较麻烦
'''
底层原理:
1、先产生执行文件的空间名称
2、执行被导入文件的代码,将产生的名字放入被导入文件的名称空间中
3、在执行文件的名称空间中产生一个模块的名字
4、在执行文件中使用该模块名加点的方式使用模块名称空间中的所有名字
'''
关键词:from...import...
导入用法:
from 文件地址/文明名 import 文件名/名称空间名字
from也可以通过*号的方式来导入所有模块内的名字
在模块中可使用__all__的方式来限制*号导入名字,只有在__all__后方列表内的名字才能
被*号使用
'''
底层原理:
1.先产生执行文件的名称空间
2.执行被导入文件的代码将产生的名字放入被导入文件的名称空间中
3.在执行文件的名称空间中产生对应的名字绑定模块名称空间中对应的名字
4.在执行文件中直接使用名字就可以访问名称空间中对应的名字
'''
优点:
1、可以指名道姓的调用模块中需要的名字
缺点:
1、调用时容易弄混
所有的py文件都可以运行 __name__ 运行后所对应的值是 __main__,但当我们运行的是导入文件时,系统则会返回给我们模块名
我们在开发模块阶段,会使用模块名来测试模块的功能,如果直接使用名称调用的话,这样别人在导入模块后会直接使用模块中的名字,造成诸多不便,由此,我们可以得出,使用if设置条件来将名称作为子代码执行条件,这样模块被导入后就不会直接运行
if __name__ == __ main__:
测试名称1...
测试名称2...
测试名称3...
'''
应用场景:
1、模块开发阶段
2、项目启动文件
'''
在导入模块时,python会首先在内存中查找模块名,当系统中无此模块名的时候会报错
在我们导入模块时要避免模块名和内置模块名冲突的问题,若自定义模块和内置模块名冲突时,系统只会执行内置模块功能,执行自定义模块功能时,系统会报错
导入方式:
from 模块地址 import 模块名称/名称空间名字
这种导入方式不是以sys.path目录为相对路径,导入的其他模块中需要导入的地址是相对于模块的位置,这种话方式可以通过点的方式简写
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有