当前位置: 首页 > 面试题库 >

Python怎样导入和使用模块?

袁华清
2023-05-16

很多初学者经常遇到这样的问题,即导入 Python 模板后,在其它文件中用 import(或 from...import) 语句引入该文件时,Python 解释器同时如下错误:

ModuleNotFoundError: No module named '模块名'

意思是 Python 找不到这个模块名,这是什么原因导致的呢?要想解决这个问题,读者要先搞清楚 Python 解释器查找模块文件的过程。

通常情况下,当使用 import 语句导入模块后,Python 会按照以下顺序查找指定的模块文件

  • 当前目录,即当前执行的程序文件所在目录下查找;
  •  PYTHONPATH(环境变量)下的每个目录中查找;
  •  Python 默认的安装目录下查找。

本文教大家怎么导入和使用模块:

在使用模块中定义的内容之前需先将模块导入到当前程序。Python使用import关键字导入模块,其语法格式如下:

import模块1,模块2,…

例如在程序中导入pygame模块,具体代码如下:

import pyqane

模块导入后,可通过点字符“”调用模块中的内容,其语法格式如下:

模块,函数
模块、变量

例如使用import语句导入pygame模块后可调用其中的ini0函数,示例代码如下:

pygane.init()

使用点字符可避免多个模块中存在同名函数时代码产生歧义,但若不存在同名函数,可使用“from 模块名impon”直接将模块的指定内容导入程序,并在程序中直接使用模块中的内容。例如将pygame模块的im0函数导入程序,并直接使用该函数,具体代码如下:

fron pygane inport Init
init()

使用from…import…语句也可将指定模块的全部内容导入当前程序,此时可使用“*”指代模块中的全部内容。例如将pyahmpe模块的全部内容导入,具体代码如下:

fron pygane import

需要注意的是,虽然from…import*可以方便地导入一个模块中的所有内容,但考虑到代码的可维护性,此种方式不应被过多使用。

代码的组织方式——模块、包和库

模块(module)、包(package)和库(lib)是Python组织代码的3种方式。模块是最基础的代码组织方式,每个包含有组织的代码片段的py文件都是一个模块,文件名就是模块名。

包以类似目录的站构组织模块文件或子包,简单来说,一个包含_init_py文件的目录就是一个包。包中必有_init_.py文件,并可以有多个模块或子包。库一个抽象概念,它是指具有相关功能的模块的集合。

 类似资料:
  • 问题内容: 我已尝试找到有关最佳使用还是全面的指南。我刚开始使用Python,并且正在尝试着眼于最佳实践。 基本上,我希望有人能分享他们的经验,其他开发人员有什么喜好,以及避免遇到麻烦的最佳方法是什么? 问题答案: 和之间的区别主要是主观的。选择最喜欢的一个,并在使用中保持一致。这里有一些要点可以帮助你做出决定。 优点: - 减少维护你的import报表。无需添加任何其他导入即可开始使用模块中的另

  • 本文向大家介绍怎样动态导入组件?相关面试题,主要包含被问及怎样动态导入组件?时的应答技巧和注意事项,需要的朋友参考一下 自己使用 import 和 async/await 实现的异步组件 React.lazy 开源库 react-loadable 库/react-lazyload 库 babel 动态导入(Dynamic Import)

  • 问题内容: 我正在学习Python,但无法弄清楚导入的工作方式。 我从Python教程中了解到该文件初始化了一个程序包,并且可以在此处导入子程序包。 不过,我做错了。您能为我(以及将来的Python学习者)解释我做错了什么吗? 这是我正在尝试做的一个简化示例。 这是我的文件结构: 内容: 是空的。 包含: 最后,包含: 这就是我尝试使用OSX终端和Python 3运行hello_world.py的

  • 问题内容: 我是Python的新手,因为我想扩展使用R学习的技能。在RI中,往往会加载一堆库,有时会导致函数名冲突。 什么是Python最佳实践。我看到了一些特定的变体,但我看不出它们之间的区别 ,和 前两者之间有什么区别,我应该只导入我需要的东西吗?同样,对于制作小型程序来处理数据和计算简单统计信息的人来说,最糟糕的后果是什么。 更新 我找到了这个出色的指南。它解释了一切。 问题答案: 在pan

  • (我意识到在与python相对导入相关的StackOverflow上有很多问题;我也怀疑我做得完全错误;但不管怎样,还是这样吧……) 我有一个python项目(mysubmod)组织如下: 重要的是: /models/hello.py导入lib.foobar 然后我有了第二个项目(myproj),我将mysubmod作为git子模块导入其中;myproj现在组织如下- 哪里: scripts/te

  • 主要内容:import 模块名 as 别名,from  模块名 import 成员名 as 别名使Python 进行编程时,有些功能没必须自己实现,可以借助 Python 现有的标准库或者其他人提供的第三方库。比如说,在前面章节中,我们使用了一些数学函数,例如余弦函数 cos()、绝对值函数 fabs() 等,它们位于 Python 标准库中的 math(或 cmath)模块中,只需要将此模块导入到当前程序,就可以直接拿来用。 前面章节中,已经看到使用 import 导入模块的语法,但实际上

  • 我需要在Python中导入一个名为array_queue的模块。我检查了一下,如果我不使用它,就会出现一个提示:“array_queue imported but unused”。但是,如果我使用它并运行该程序,则会出现以下情况: ModuleNotFounderRror:没有名为“array_queue”的模块

  • 3.3 Python模块导入 与C++类似的,在Python中导入其他模块时,也需要相关处理。 需求:首先新建一个Python文件A,再创建Python文件UseA,在UseA中导入A并调用A的实现。 实现: 新建两个Python文件,使用 import 实现导入关系; 添加可执行权限、编辑配置文件并执行UseA。 1.新建两个Python文件并使用import导入 文件A实现(包含一个变量):