为什么使用python的import语句失败
在python中导入模块绝对是我们最最常用的功能,基本每个py文件中都会有import或者是from import语句。可是,这两种导入方法有什么不同,又该怎么用呢?今天就好好来分析一下。
定义:
模块导入允许我们将一个个独立的程序功能分别实现然后组合成一个复杂的系统。
主要有如下作用:
代码重用:我们知道当一段代码需要用到两次的时候,我们就需要写一个函数了这是一个道理。
避免变量名的冲突:每个模块都将变量名封装进了自己包含的软件包,这可以避免变量名的冲突。除非使用精确导入。
import语句
import语句就像这样
也可以在一行内导入多个模块:
但是这样的代码可读性不如多行的导入语句。 而且在性能上和生成 Python 字节代码时这两种做法没有什么不同。 所以一般情况下, 我们使用第一种格式。
import工作方式:
其中,导入程序搜索的目录如下:
import解释:
解释器执行到import语句, 如果在搜索路径中找到了指定的模块, 就会加载它。该过程遵循LEGB作用域原则, 如果在一个模块的顶层导入, 那么它的作用域就是全局的; 如果在函数中导入, 那么它的作用域是局部的。 如果模块是被第一次导入, 它将被加载并执行
Import as语句
有时候你导入的模块或是模块属性名称已经在你的程序中使用了, 或者你不想使用导入的名字。可能是它太长不便输入什么的, 总之你不喜欢它。 这已经成为 Python 程序员的一个普遍需求: 使用自己想要的名字替换模块的原始名称。
Import 和from是赋值语句
像def一样,import和from是可执行的语句,他们可以出现在if中,可以出现在函数中,执行到这些语句的时候才会进行解析,也就是说,被导入的模块和变量名只有在对应的import或from语句执行后才可以使用。
来源:PY学习网:原文地址:https://www.py.cn/article.html