Python为什么要用import导入模块?何不直接导入所有模块更省事
Python大数据分析
共 545字,需浏览 2分钟
· 2022-05-24
知乎上有人问,Python为什么需要用import导入模块?直接自动将所有模块都导入不是更好吗?
其实答案很简单,直接自动将所有模块导入会有3个大的问题
1、效率低下,造成内存浪费
2、变量名冲突,python模块不计其数,都导入的话变量名不够用了
2、模块并不是固定的,你写的一个Py文件也可以作为模块使用,如何做到所有模块自动导入?
为了更清楚地说明问题,首先我们来了解下什么是模块?
Python模块其实就是包含变量的文件包,说简单点每个以扩展名.py结尾的源代码文件都是一个模块。
那什么是包和库呢?
为了方便调用将一些功能相近的模块组织在一起,或是将一个较为复杂的模块拆分为多个组成部分,可以将这些 .py 源程序文件放在同一个文件夹下。
按照 Python 的规则进行管理,这样的文件夹和其中的文件就称为包,库则是功能相关联的包的集合。
我们导入模块时,就拥有了对模块文件的全局作用域中名称的访问权,模块的内容就通过其属性被外部使用。
那么使用import导入时,会执行三个步骤。
1、搜索:找到模块文件
2、编译:编译成字节码
3、运行:执行模块的代码来创建其所定义的对象
所以说需要什么模块就import导入什么模块,这样既提升效率,又能降低硬件负担。
评论
BigDecimal 为什么可以保证精度不丢失?
来源:juejin.cn/post/7348709938023940136👉 欢迎加入小哈的星球 ,你将获得: 专属的项目实战 / Java 学习路线 / 一对一提问 / 学习打卡 / 赠书福利全栈前后端分离博客项目 2.0 版本完结啦, 演示链接
小哈学Java
0
git提交错了?别慌,直接删除提交记录
来源:juejin.cn/post/7355692365330792488👉 欢迎加入小哈的星球 ,你将获得: 专属的项目实战 / Java 学习路线 / 一对一提问 / 学习打卡 / 赠书福利全栈前后端分离博客项目 2.0 版本完结啦, 演示链接
小哈学Java
0
大量 Java 开源项目停更...
点击关注公众号,Java 干货及时推送↓推荐阅读:投了 100 多份简历后…出品 | OSC开源社区(ID:oschina2013)Sonatype 发布了最新的一份《软件供应链状况》报告,深入探讨了如何在充满选择的世界中定义更好的软件,并探讨人工智能 (AI) 对软件开发的深远
Java技术栈
0
牛逼啊,几乎涵盖了SpringCloud所有操作
前言Spring Cloud Alibaba为分布式应用开发提供了一站式解决方案。它包含开发分布式应用程序所需的所有组件,可以轻松地使用Spring Cloud开发应用程序。使用Spring Cloud Alibaba,只需添加一些注解和少量配置,即可将Spring Cloud应用连接到Alibab
java团长
0
知乎高问:程序员有必要知道为什么做某个功能吗?
将Python客栈设为“星标⭐”第一时间收到最新资讯前言知乎上有一个提问:程序员有必要知道为什么做某个功能吗?↓↓↓今天,我们就这个话题一起来做个讨论。不知道程序员的你,在接到产品经理提的一个需求后,是习惯马上动手开始撸代码呢?还是会先暂停一下,认真思考一会如下一些问题,比如这个需求产生的背景是什么
Python客栈
0
Python列表知识应知应会
点击上方“Go语言进阶学习”,进行关注回复“Go语言”即可获赠从入门到进阶共10本电子书今日鸡汤只在此山中,云深不知处。一、前言 在Python程序开发中,列表(List)经常会使用。假设一个班里有50个学生现需要统计每一个学生的总成绩情况,如果不使用列
Go语言进阶学习
0
Python 字符串应该用双引号还是单引号?
转载来源:洪尔摩斯PyCharm升级至 2023.2版本后,经常弹出来一个提示问我要不要试一下Black formatter。试了一下,这个Black formatter 很有个性,特别喜欢换行。我的一个文件用PyCharm自带的代码整理器整理完之后是500行左右,然后再用Black整理就变成600
菜鸟学Python
0