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呢?可以在评论区说说你的看法,大家来讨论讨论。

点赞,收藏,谢谢!

相关推荐
LNN20224 分钟前
半导体设备 UI 开发工程师:完整工作执行手册
开发语言·python·ui
卡次卡次18 分钟前
14.1: 总结本章 Python 高性能并发:多线程+多进程核心知识点+实战指南(面试/开发双适配)
服务器·python·面试
覆东流13 分钟前
第11天:python字典基础
开发语言·后端·python
Jmayday16 分钟前
Pytorch:问题整理
人工智能·pytorch·python
iAm_Ike17 分钟前
placeholder属性在IE9下有效吗_低版本表单提示替代方法【技巧】
jvm·数据库·python
gergul28 分钟前
python venv虚拟环境复制
linux·开发语言·python
MClink31 分钟前
小米开源大模型 MiMo 登顶全球第一,还白送百万亿 Token?手把手教你薅羊毛
人工智能·python·算法·openai·架构设计
m0_7414817834 分钟前
SQL删除包含敏感信息的数据_使用数据脱敏后执行删除
jvm·数据库·python
2401_8822737235 分钟前
如何用立即执行函数(IIFE)创建独立的作用域隔离变量
jvm·数据库·python
skilllite作者39 分钟前
Agent-Skills 核心能力与实战效能深度评测
大数据·开发语言·前端·数据库·人工智能·python