python系列教程227——使用import还是from

朋友们,如需转载请标明出处:https://blog.csdn.net/jiangjunshow

声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知识更好地理解AI技术,我让助理负责分享这套python系列教程,希望能帮到大家!由于这套python教程不是由我所写(有时候有空也会参与编写),所以不如我的AI技术教学风趣幽默,学起来比较枯燥;但它的知识点还是讲到位的了,也值得阅读!想要学习AI技术的同学可以点击跳转到我的教学网站。PS:看不懂本篇文章的同学请先看前面的文章,循序渐进每天学一点就不会觉得难了!

开门见山,我个人更推荐使用import。

有些同学可能认为from要高效一些。例如对于下面这一行代码

复制代码
from module import name1

有些同学可能认为只是把name1加载到了内存空间中。

其实不是这样的。这句语句也会将整个module全部加载到内存空间中。也就是说import和from都会将整个模块的加载到内存空间中,所以说它们在效率上是一样的。

我之所以推荐使用import,是因为我觉得from语句会有很多潜在的威胁。下面由我一一道来。

如果from语句复制过来的变量名与本文件中的变量名称同名。那么变量就会被悄悄的覆盖掉了。在下面写代码时,你以为你是用了这个变量,但其实他是另外一个变量。这个后果相当严重。就像在夜场里,你跟你女朋友去玩,碰巧有另外一个女的跟你女朋友穿了同样的衣服,你以为他是你女朋友,你上去就摸了一把,结果却不是你女朋友,摸错人了。后果可能会相当严重,要不就是进派出所,要不就是进医院。

另外一个潜在的威胁就是,当使用reload的时候。 From语句导入的变量可能依然引用着之前旧版本的值。有同学可能不太熟悉reload指令,简而言之他就是重新加载模块的意思。也就是说你以为你自己重新加载了模块,但是那些变量还是使用着之前旧版本模块的值。

当然也不是让大家完全不使用from语句。因为使用import语句的话,后面使用每个变量时都要在前面跟上模块名。而使用form语句就可以直接使用变量名,可以减少一些代码编写量。但是无论如何,我觉得在一个大型的多人协作的系统中,尽量使用inport语句,这样会避免很多潜在问题的发生,也有利于系统代码后期的维护。

你更喜欢使用import还是from呢?可以在评论区说说你的看法,大家来讨论讨论。

点赞,收藏,谢谢!

相关推荐
金銀銅鐵3 小时前
[Python] 从《千字文》中随机挑选汉字
后端·python
cup118 小时前
[技术复盘] Windows Python 打包实战:Nuitka 环境踩坑总结与 CI 自动化构建全指南
python·ai·环境变量·ci·nuitka·skill
aqi0010 小时前
15天学会AI应用开发(七)有了大模型为什么还要引入RAG
人工智能·python·大模型·ai编程·ai应用
金銀銅鐵12 小时前
用 Python 实现 Take-Away 游戏
python·游戏
copyer_xyf13 小时前
Agent 流程编排
后端·python·agent
copyer_xyf13 小时前
Agent RAG
后端·python·agent
copyer_xyf13 小时前
【RAG】向量数据库:milvus
后端·python·agent
copyer_xyf14 小时前
Agent 记忆管理
后端·python·agent
星云穿梭1 天前
用Python写一个带图形界面的学生管理系统——完整教程
python