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

Python中使用“import”还是“from ... import”导入模块

Python 中可以使用“import”和“from … import” 两种方式导入模块。那么,“import”和“from … import”有什么区别呢?

import 语句

import module1[, module2[,... moduleN]]

“import” 导入整个模块及其函数。

如果需要使用模块中的许多函数,则最好使用“import”导入模块。

导入模块后,在调用模块中的函数时,必须这样引用:

模块名.函数名

import math
print(math.pi)

from…import 语句

from modname import name1[, name2[, ... nameN]]

允许从模块导入特定的函数、类或变量。

如果只需要模块中的几个特定函数,那么使用“from … import”可以使代码更高效。

模块中的函数可以直接使用,无需在它前面加上模块名称。

from math import pi
print(pi)

“import” 和 “from … import” 都用于在 Python 中导入模块。两者之间的主要区别在于,“import”导入整个模块,而“from … import”仅从模块导入特定属性或函数。

使用“import”,需要使用模块名称作为前缀访问模块中的所有函数、类和变量。可以通过清楚地指示函数、类和变量的来源提高代码的可读性。它还避免了名称冲突,因为所有名称都使用模块前缀进行访问。

使用“from … import”,按需导入,可以直接访问模块中的特定函数、类或变量,使代码更高效,减少代码键入。但是,如果在不同的模块中使用相同的名称,则可能会导致名称冲突,并且可能会混淆名称的来源。

在 Python 中使用“import”还是“from … import”,重要的是要考虑代码的特定需求,这两种方法都有其好处,无论的选择如何,都必须在整个代码中保持一致性,并遵守 Python 的风格指南,以确保可读性和可维护性。

相关文章:

  • 双机多网口配置同网段地址,可以通过目的IP确定接收数据的网卡吗?
  • C#算法(15)—求四边形的外接矩形
  • 部署Prometheus + Grafana实现监控数据指标
  • sqlalchemy连接池满了报错
  • 刷代码随想录有感(82):贪心算法——摆动序列
  • 【大数据篇】Spark:大数据处理的璀璨之星
  • 用Kotlin协程消灭安卓开发中的回调地狱
  • 【DrissionPage爬虫库 1】两种模式分别爬取Gitee开源项目
  • 《C++primer》第八章课后习题
  • 黑马聚合的分类及实现
  • 埃及媒体分发投放-新闻媒体通稿发布
  • [数据集][目标检测]红外车辆检测数据集VOC+YOLO格式13979张类别
  • K8s Pod 资源进阶
  • C++课程设计实验杭州电子科技大学ACM题目(上)
  • 跳绳技巧一:蝴蝶步
  • 分享一款快速APP功能测试工具
  • (三)从jvm层面了解线程的启动和停止
  • android 一些 utils
  • Android路由框架AnnoRouter:使用Java接口来定义路由跳转
  • angular组件开发
  • emacs初体验
  • Github访问慢解决办法
  • Js基础知识(一) - 变量
  • js面向对象
  • Lucene解析 - 基本概念
  • PhantomJS 安装
  • PV统计优化设计
  • ReactNativeweexDeviceOne对比
  • text-decoration与color属性
  • vue:响应原理
  • 仿天猫超市收藏抛物线动画工具库
  • 分布式事物理论与实践
  • 记一次用 NodeJs 实现模拟登录的思路
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • 如何进阶一名有竞争力的程序员?
  • 使用权重正则化较少模型过拟合
  • 小程序01:wepy框架整合iview webapp UI
  • 小程序测试方案初探
  • 通过调用文摘列表API获取文摘
  • ​学习一下,什么是预包装食品?​
  • #if和#ifdef区别
  • (003)SlickEdit Unity的补全
  • (2024最新)CentOS 7上在线安装MySQL 5.7|喂饭级教程
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (c语言+数据结构链表)项目:贪吃蛇
  • (Oracle)SQL优化基础(三):看懂执行计划顺序
  • (poj1.2.1)1970(筛选法模拟)
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (蓝桥杯每日一题)love
  • (十五)使用Nexus创建Maven私服
  • (转)EXC_BREAKPOINT僵尸错误
  • (转贴)用VML开发工作流设计器 UCML.NET工作流管理系统
  • .NET / MSBuild 扩展编译时什么时候用 BeforeTargets / AfterTargets 什么时候用 DependsOnTargets?