当前位置: 首页 > news >正文

Python import导包快速入门

import 和 from import 


在 Python 中,使用 import 语句可以将其他 Python 模块或包中的代码引入到当前模块中,以供使用。通常情况下,我们可以使用以下语法将整个模块导入到当前命名空间中:

import module_name

其中,module_name 是要导入的模块的名称。通过这种方式导入模块后,可以使用点号运算符 . 来访问该模块中的各个属性、函数、类等。

例如,假设我们有一个名为 module_name.py 的模块,其中定义了一个名为 foo() 的函数和一个名为 bar 的变量,那么我们可以使用以下代码将其导入到另一个模块中:

import module_namemodule_name.foo()
print(module_name.bar)

除了上面的方式外,Python 还提供了另一种常用的导入方式,即使用 from 关键字来导入模块中的特定部分。这种方式可以使我们更加灵活地控制导入的内容,避免命名空间污染

使用 from 语句的语法为:

from module_name import name1, name2, ...

其中,module_name 是要导入的模块的名称,name1, name2, ... 是模块中要导入的特定名称。这些名称可以是模块中定义的函数、变量、类、子模块等等。

例如,如果我们只需要使用 module_name 模块中的 foo() 函数,可以使用以下代码:

from module_name import foofoo()

此外,还可以使用 as 关键字来给导入的名称设置别名,例如:

from module_name import foo as my_functionmy_function()

需要注意的是,使用 from 导入方式时,被导入的名称将被直接放入当前命名空间中,而不需要通过点号运算符来访问。这样可能会导致命名空间的混乱和名称冲突,因此建议根据实际情况合理使用 importfrom import


点号 . 相对导入(同一个文件夹内

在 Python 中,如果要导入同一个文件夹下的包,可以使用相对导入(Relative Import)

相对导入的语法是以 . .. 开头的模块名,它们分别表示当前模块所在的*包*或*父包*

假设你的目录结构如下:

a/
├── b/
│   └── b_module.py
└── c/├── c_module.py└── d/├── d_module.py└── e/└── e_module.py

要在 b 中导入 e 包,可以使用以下语句:

from ..c import d
from ..c.d import e

上述语句中,.. 表示从当前包(即 b 包)的父包 a 中查找,然后 from ..c import d 表示从 a 中的 c 包导入 d 包,from ..c.d import e 表示从 d 包中导入 e 包。注意,相对导入语句中的 .. 表示当前包的父包,因此在 b 包中使用 .. 表示 a 包。

http://www.lryc.cn/news/55812.html

相关文章:

  • ChatGPT这么火,我们能怎么办?
  • HashMap底层原理
  • 卡顿优化小结
  • springboot前端ajax 04 关于后台传的时间和状态在前端的转换
  • 解决Windows微信和 PowerToys 的键盘管理器冲突
  • 组会时间的工作
  • linux udp bind 返回值-1分析
  • Hexo搭建博客
  • Lesson11:http协议
  • 计算机信息安全有哪些SCI期刊推荐? - 易智编译EaseEditing
  • CNVD-2023-12632 泛微e-cology9 sql注入 附poc
  • 赛宁网安合作伙伴大会成功举办,重磅发布SCBaaS服务!
  • R语言 4.2.2安装包下载及安装教程
  • 快速玩转 CNStack 2.0 流量防护
  • 你还在用原生 poi 处理 excel?太麻烦了来瞧瞧这个
  • No.027<软考>《(高项)备考大全》【第11章】项目风险管理
  • mit6.824 lab2c-数据持久化
  • leaflet使用L.geoJSON加载文件,参数filter的使用方法(127)
  • 23年5月高项学习笔记7—— 质量管理
  • 学编程需要哪些基础呢?一起来看看吧
  • PECS In Java泛型类型通配符限定之<? extends T>与<? super T>
  • 电子招投标系统源码之了解电子招标投标全流程
  • admin Tips
  • ToBeWritten之Radare2 使用教程
  • 实时翻译屏幕插件
  • 代码随想录算法训练营第二天| 977,209,59
  • echarts 地图板块点击着色,移除着色
  • Visual Studio Code (vscode)自定义用户代码段快速打出for循环等
  • RocketMQ客户端配置详解
  • STM32基于STM32CubeMX DMA + EXTI读取DS1307数据