python中引入不同层级模块

python中引入不同层级模块

引入同一层级的

|com
|--baidu
|--  -- first.py
|--  -- two.py

在two中引入 first 直接即可以在头部写入

import first

在代码中使用 first.method() 使用

引入不是同一层级的不同包的模块

|com
|--baidu
|--  -- first.py
|--wangyi
|--  -- two.py

在two.py中发现直接import 报错
边查资料 看到需要从开始写全路径,和java中有点类似,

import com.baidu.first

即可、但是发现如果在first中引入同层级的模块,你在two中引入first就会报错,找不到,
所以在first或者其他的引入都直接全路径省却麻烦。

仅限于都在com包下且com包下有__init__.py文件,

init的作用:

init.py 文件的作用是将文件夹变为一个Python模块,Python 中的每个模块的包中,都有__init__.py 文件。

python中关于模块的定义:

  • 模块让你能够有逻辑地组织你的Python代码段。
  • 把相关的代码分配到一个 模块里能让你的代码更好用,更易懂。
  • 模块也是Python对象,具有随机的名字属性用来绑定或引用。
  • 简单地说,模块就是一个保存了Python代码的文件。模块能定义函数,类和变量。模块里也能包含可执行的代码。

模块文件可以是以下

  • 模块文件(.py文件)
  • C或C++扩展(已编译为共享库或DLL文件)
  • 包(包含多个模块)
  • 内建模块(使用C编写并已链接到Python解释器中)

init.py中还有一个重要的变量,all, 它用来将模块全部导入


# __init__.py
__all__ = ['os', 'sys', 're', 'urllib']
# a.py
from package import *

参考https://blog.csdn.net/m0_37607365/article/details/79889901

猜你喜欢

转载自blog.csdn.net/weixin_41086086/article/details/96481378