python中的__init__.py文件和导包总结

python __init__.py文件和导包总结

import也是一门学问~

  1. 导入方式

    import
    from xxx import yyy
  2. __init__.py的作用

    把某一个目录变成一个包,
    使得其他模块使用 包.包中的某一模块/函数/变量/类 这种方式时可用
  3. __init__.py什么时候有用?

    如果某一个目录在后期导入使用时只是作为中间目录衔接使用, 则可以不加__init__.py

    如果某个目录后期会被直接或间接显示地作为一个包导入并被使用,那么必须必须必须要加__init__.py,并且__init__.py中的内容会影响导入的内容

  4. 每一个目录都是可以被import的

    如果一个目录下没有__init__.py,那么在import这个目录时,并不会报错,只会以这个目录名创建一个namespace,里面什么都没有,没有使用价值 module 'name' (namespace)

    然而当目录下创建__init__.py后这个目录就可以成为一个包 module 'name' from '/Users/miechongdaxia/测试/test/name/__init__.py'

  5. 在pycharm下都以绝对路径来引用包或者模块

    不要用 . 操作符,尤其是用from import这种方式,import一般直接导入外层目录作为包,而from import会导入内层目录中的包或者模块
  6. python查找模块/包的路径

    sys.path的值就是路径
  7. 哪些东西可以被直接import?

    1. 模块文件(.py文件)
    2. C或C++扩展(已编译为共享库或DLL文件)
    3. 目录/包(包含多个模块,不一定要有__init__.py,具体差别看第四点)
    4. 内建模块(使用C编写并已链接到Python解释器中)
  8. 两种导入方式的区别

    from import 可以导入模块中的函数/变量/类等
    import则不行,导入的不是模块就是包目录,无法细化到函数/变量/类等
  9. 如果一个目录需要作为一个包使用,一定要在目录下创建__init__.py,并且在里面写好可以导入的模块,不然包目录可以导入,但是无法使用!!!!!
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值