python 顶级包

1.代码


# 1.主入口文件,对Python文件进行运行

# 2.顶级包和可执行文件的位置有关
# print(__package__)    # 直接打印,为none,此时的main不属于任何一个包

# 3.但对于main下引入的子包  (这里以绝对路径导入)
    
import package2.package4.m2

# from package2.package4.m2 import m

# 4.绝对路径和相对路径
    # 4.1 绝对路径导入:通过顶级包,以点的方式连接,逐级往下到引用的模块的引入方式  (注意:绝对路径必须从顶级包开始,不然就会报错)
    # 4.2 相对路径导入:
        # 4.2.1  . 一级  .. 两级  ... 三级
        # 4.2.2 但在入口文件中是不能使用 相对路径的
        # 4.2.3 使用from导入的方式,虽然避免了 . 的报错,但会有其它的报错
        # 4.2.4 因为使用相对路径  会根据 当前内置的模块变量 __name__ 来定位,而mian.py运行时,他的  __name__ 就比那长了 __main__ ,所以就找不到了
        # 4.2.5 所以入口文件只能用绝对路径
        # 4.2.6 如果想在运行时,使用相对路径,可以进入main.py 的上一级,在上一级 使用 'python -m demon.main'  这样就会正常

# 5.
    # 5.1 对于package4中使用相对路径导入m3.py就是可以的,打印结果都是  package2.package4 ,因为m2.py和m3.py的顶级包都是package2并且他们都在package4包下
    # 5.2  引用不能超过顶级包  (例如:在m2中引入了m5这个超过顶级包的存在,就会报 ’attempted relative import beyond top-level package‘)

(备注:以上内容来自七月老师的学习笔记,仅作为学习使用)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值