模块和包问题

模块是模块化编程的要求。 一个模块一般可以包括多个文件。也可以一个文件。通常是一个。
而包是一个可以完整测试的,独立发布的模块组合。通常发布在python指定的目录里。
当你多个项目使用同一组模块时,可以将模块封装成包,发布到公共目录里。这就是包的意义。

引入路径:

import sys

sys.path.append(yourmodulepath)

将路径加入到python系统路径下,避免每次通过代码指定路径:

export PYTHONPATH=$PYTHONPATH:yourmodulepath


import module  #✅  引入模块,使用时加模块名限制  简化引入,繁化使用
from module import function  #✅  引入模块,使用时不加模块名限制
import module.function1  #❌


import package1  #✅  引入包,使用包中类时需要加模块名的限制
from package1 import module  #✅  引入包里的类,使用时无需加模块名的限制
from package1.package2 import module  #✅

模块:在Python可理解为对应于一个文件。在创建了一个脚本文件后,定义了某些函数和变量。你在其他需要这些功能的文件中,导入这模块,就可重用这些函数和变量。

sys.path.append()或insert()增加新的目录。

模块第一次被导入时被执行

一般用module_name.fun_name,和module_name.var_name进行使用。


包:为了组织好模块,将某些功能相近的文件组织在同一文件夹下,将多个模块分为一个包。包是python模块文件所在的目录,且该目录下必须存在__init__.py文件。

路径引入;

文件路径下还需要__init__.py文件,可为空可有代码;

导入包: 1:import a.b.mod      .对应系统目录/;需要经常输入路径;需要读取两个及以上路径内的同名文件时使用

     2.from a.b.mod import x  尽量使用这种相对或绝对导入包的子模块;多次使用只需导入一次因而修改方便;

                  需要读取的文件名称在每个路径都不相同时使用

注意事项:

  • 自定义 使用if __name__ == '__main__',保证你写包既可以import又可以独立运行。
  • 多次import不会多次执行模块,只会在首次导入执行。可以使用过程中reload来强制运行模块。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值