python中的import、from import及import as的区别解析

作者:douguailove 时间:2022-10-07 15:56:09 

首先介绍一下import和include的区别或者说import相对include的好处:

import导入的内容只会被包含一次,在引入之前会检测是否已经存在该模块,不存在才会被引入,而include是不会做判断的。使用import在递归包含的时候不会出错,不会引起交叉编译的问题。此外,使用include引入头文件对其引入顺序也有一定的要求。

import

import是python提供的用于导入模块的机制,导入是的整个模块的内容。模块可以是py、pyc、pyd,可以是系统自带的,也可以是自定义的。使用语法:#import os

python中所有加载到内存的模块都存放到sys.modules中,在引入一个模块之前,会先在列表中查找是否已经加载了该模块,如果已经加载则只用将模块的名字加入到正在调用import模块的local名字空间中;没有加载则将该模块载入到内存,并存放到sys.modules中。

from import

用于导入一个模块中的某一个部分,比如一个函数或者一个类等。使用语法:from os import path 表示引入os模块中的path

import as

用于引入一个模块的同时为该模块取一个别名。使用语法:import multiprocessing as mp 表示引入multiprocessing模块并取别名为mp,在该文件的后续调用中mp就相当于是multiprocessing。

Python中import的as语法

在Python中,如果import的语句比较长,导致后续引用不方便,可以使用as语法,比如:

import dir1.dir2.mod

那么,后续对mod的引用,都必须是dir1.dir2.mod
dir1.dir2.mod.X
那么,为了简化输入,可以使用as语法:

import dir1.dir2.mod as m

那么,后续对mod的引用,可以直接使用m
m. X

需要注意的是,使用as语法之后,只能通过as后面名字来访问导入的moudle

import mod as m
m.X # OK
mod.X # Error

下面提供as的完整语法格式,import和from都支持:

import modulename as name # 只能通过name来引用
from modulename import attrname as name # 只能通过name来引用

来源:https://blog.csdn.net/guaiguaihenguai/article/details/94488238

标签:python,import,from,as
0
投稿

猜你喜欢

  • Javascript验证方法大全

    2024-04-17 10:19:44
  • 如何判断电子邮件的地址格式是否正确?

    2010-01-12 20:12:00
  • 利用python Selenium实现自动登陆京东签到领金币功能

    2021-11-09 12:00:33
  • Scrapy-redis爬虫分布式爬取的分析和实现

    2023-01-04 10:21:19
  • windows下mysql 5.7版本中修改编码为utf-8的方法步骤

    2024-01-14 14:02:44
  • Python数据结构树与算法分析

    2023-10-10 19:30:18
  • python django中8000端口被占用的解决

    2021-07-14 02:43:19
  • Mysql中使用时间查询的详细图文教程

    2024-01-17 16:35:54
  • gVim, gVim Easy, gVim Read-only 的简单区别

    2023-07-30 13:43:48
  • js用星投票的示例代码

    2007-12-29 13:11:00
  • ASP中汉字与UTF-8的互相转换

    2009-06-24 11:15:00
  • Python常用数据类型之列表使用详解

    2021-12-18 02:46:33
  • Python上传package到Pypi(代码简单)

    2022-04-21 17:09:33
  • python实现简单聊天应用 python群聊和点对点均实现

    2023-01-16 08:35:55
  • Python查找算法之分块查找算法的实现

    2023-06-26 20:25:34
  • Python基于yield遍历多个可迭代对象

    2023-01-05 23:01:32
  • IDEA使用JDBC安装配置jar包连接MySQL数据库

    2024-01-23 17:43:21
  • asp分段插入数据库

    2010-07-02 13:13:00
  • Vuex实现购物车小功能

    2024-05-21 10:29:07
  • HTML5 声明兼容IE的写法

    2011-06-06 10:34:00
  • asp之家 网络编程 m.aspxhome.com