python中的import语句用法大全

 更新时间:2021年07月05日 11:20:01   作者:软件技术学习开发爱好者  
import语句用来导入其他python文件(称为模块module),使用该模块里定义的类、方法或者变量,从而达到代码复用的目的,文中给大家提到import 语句的两种格式通过示例代码介绍的很详细,需要的朋友参考下吧

import语句有什么用?import语句用来导入其他python文件(称为模块module),使用该模块里定义的类、方法或者变量,从而达到代码复用的目的。

import 语句官方文档https://docs.python.org/zh-cn/3/reference/simple_stmts.html#the-import-statement

不太好懂,解读一下:

格式一:

import 模块名1 [as 别名1], 模块名2 [as 别名2],…

说明:1)将整个模块导入;2)[as 别名]部分可无,取别名简化引用; 3)使用导入模块中的成员的格式:模块名[或别名]. 成员

成员包括属性(变量)或函数。

格式二:

from 模块名 import 成员名1 [as 别名1],成员名2 [as 别名2],…

说明:1)导入模块中的某个成员;2)可以用*代表所有成员,如from 模块名 import *

若导入包中模块,将上面语法中的模块名改为 包名.模块名

提示:import xxx和from xxx import yyy,两者的区别在于:

import xxx,需要通过xxx.yyy的方式使用导入模块中的变量、函数、类等。

from xxx import yyy,可以直接以yyy调用。

例如

import turtle

turtle.circle(100)

import turtle as t

t.circle(100)

from turtle import *

circle(100)

import module_name。即import后直接接模块名。在这种情况下,Python会在两个地方寻找这个模块,第一是sys.path(可通过运行代码import sys; print(sys.path)查看其位置),os这个模块所在的目录就在列表sys.path中,一般安装的Python库的目录都可以在sys.path中找到(前提是要将Python的安装目录添加到电脑的环境变量),所以对于安装好的库,我们直接import即可。第二个地方就是运行文件所在的目录。

要想更深入的了解需要熟悉几个基本概念

模块(module)

Python中,一般情况下,是一个以.py为后缀的文件,其他可作为module的文件类型还有".pyo"、".pyc"、".pyd"、".pyw"、".dll",但Python初学者几乎用不到。他们是属于Python代码载体的最小单元,这样单独存在的文件我们都称之为“模块”。

module能定义函数、类、变量,也能包含可执行的代码。module来源有3种:

①Python内置的模块(标准库);

②第三方模块;

③自定义模块。

包(package)

为避免模块名冲突,Python引入了按目录组织模块的方法,称之为 包(package)。包是含有多个模块的文件夹。

在Python 3.3之前,一个目录想被当成package被导入,必须包含__init__.py文件;而在Python 3.3及以后的版本中,__init__.py文件可以不需要。

包含__init__.py文件的包,__init__.py文件文件可以什么内容都不写,即为空文件,存在即可,相当于一个标记。这种包称为“Regular packages”(普通的包)。

从Python3.3版本开始引入了“Namespace Packages”(命名空间包),这种包没有__init__.py。

绝对导入和相对导入

假设我们的项目(Project)的目录结构如下图所示:

绝对导入

绝对路径要求我们必须从最顶层的文件夹开始,为每个包或每个模块提供出完整详细的导入路径。如:

from package1 import mudule1

from package1.module2 import Fx

from package2 import Cx

from package2.subpackage1.module5 import Fy

相对导入:

当我们使用相对导入时,需要给出相对与当前位置,想导入资源所在的位置。

相对导入分为“隐式相对导入”和“显式相对导入”两种,比如我们想在package2/module3.py中引用module4模块,我们可以这么写

import module4 # 隐式相对导入

from . import module4 # 显式相对导入

from package2 import module4 # 绝对导入

代码中.表示当前文件所在的目录,如果是..就表示该目录的上一层目录,三个.、四个.依次类推。可以看出,隐式相对导入相比于显式相对导入无非就是隐含了当前目录这个条件,不过这样会容易引起混乱,所以在PEP 328的时候被正式淘汰,毕竟“Explicit is better than implicit”。

想在package2/module3.py中导入class Cx和function Fy,可以这么写

# package2/module3.py

import Cx # 隐式相对导入

from . import Cx # 显式相对导入

from .subpackage1.module5 import Fy

参考

https://zhuanlan.zhihu.com/p/348559778

https://blog.csdn.net/weixin_38256474/article/details/81228492

到此这篇关于python中的import语句用法大全的文章就介绍到这了,更多相关python import语句内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解Selenium中元素定位方式

    详解Selenium中元素定位方式

    测试对象的定位和操作是我们利用 selenium 编写自动化脚本和 webdriver 的核心内容。本文我们就来学习一下常用的元素定位方法有哪些吧
    2022-06-06
  • python判断所输入的任意一个正整数是否为素数的两种方法

    python判断所输入的任意一个正整数是否为素数的两种方法

    今天小编就为大家分享一篇python判断所输入的任意一个正整数是否为素数的两种方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • VSCode下好用的Python插件及配置

    VSCode下好用的Python插件及配置

    这篇文章主要介绍了微软官方的Python插件,已经自带很多功能,下面是插件功能描述,其中部分内容我做了翻译,需要的朋友可以参考下
    2018-04-04
  • Python如何读取MySQL数据库表数据

    Python如何读取MySQL数据库表数据

    这篇文章主要为大家详细介绍了Python如何读取MySQL数据库表数据,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • pycharm配置SSH远程连接服务器详细步骤(0基础详细版)

    pycharm配置SSH远程连接服务器详细步骤(0基础详细版)

    PyCharm是一款流行的Python集成开发环境(IDE),提供了远程连接云服务器的功能,使得开发者可以更加便捷地进行远程开发和调试,这篇文章主要给大家介绍了关于pycharm配置SSH远程连接服务器的详细步骤,需要的朋友可以参考下
    2024-07-07
  • Python应用实现处理excel数据过程解析

    Python应用实现处理excel数据过程解析

    这篇文章主要介绍了Python应用实现处理excel数据过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • Python模块psycopg2连接postgresql的实现

    Python模块psycopg2连接postgresql的实现

    本文主要介绍了Python模块psycopg2连接postgresql的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • 整理Python中常用的conda命令操作

    整理Python中常用的conda命令操作

    今天给大家带来的是关于Python的相关知识,文章围绕着Python中常用的conda命令行操作展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • Matplotlib实战之堆叠面积图绘制详解

    Matplotlib实战之堆叠面积图绘制详解

    堆叠面积图和面积图都是用于展示数据随时间变化趋势的统计图表,但它们的特点有所不同,堆叠面积图既能看到各数据系列的走势,又能看到整体的规模,下面我们就来看看如何绘制堆叠面积图吧
    2023-08-08
  • python如何禁用print输出

    python如何禁用print输出

    这篇文章主要介绍了python如何禁用print输出问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02

最新评论