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

首先介绍一下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来引用

到此这篇关于python中的import、from import及import as的区别解析的文章就介绍到这了,更多相关python import from import内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python 3.74 运行import numpy as np 报错lib\site-packages\numpy\__init__.py

    安装完 anaconda 运行如下代码执行不了 import numpy as np import os,sys #获取当前文件夹,并根据文件名 def path(fileName): p=sys.path[0]+'\\'+fileName return p #读文件 def readFile(fileName): f=open(path(fileName)) str=f.read() f.close() return str #写文件 def writeFile(fileName,str):

  • Python import与from import使用及区别介绍

    下面介绍下Python import与from import使用,具体内容如下所示: Python程序可以调用一组基本的函数(即内建函数),比如print().input()和len()等函数.Python本身也内置一组模块(即标准库).每个模块都是一个Python程序,且包含了一组相关的函数,可以嵌入到你的程序之中,比如,math模块包含了数学运算相关的函数,random模块包含随机数相关的函数,等等. 一.import语句 在开始使用一个模块中的函数之前,必须用import语句导入该模块.

  • 详解Python中的from..import绝对导入语句

    相对或者绝对import 更多的复杂部分已经从python2.5以来实现:导入一个模块可以指定使用绝对或者包相对的导入.这个计划将移动到使绝对的导入成为默认的细节在其他版本的python中. 我们假设你有一个包目录,像下面这样: pkg/ pkg/__init__.py pkg/main.py pkg/string.py 上面定义了一个包称为 pkg 包含 pkg.main 和pkg.string 两个子模块.考虑在'main.py'中的代码,什么事情会发生如果我们执行语句 import str

  • 解决Python import .pyd 可能遇到路径的问题

    Python import .pyd文件时会搜索sys.path列表中的路径 运行 import xxx.pyd 1. 'ImportError: No module named xxx' 可能是xxx.pyd所在路径不在sys.path中. 解决方法: import之前用sys.path.append()方法加入xxx.pyd所在路径,确定当前路径推荐用os.path.realpath('.'). 2. 'ImportError: DLL load failed: 找不到指定的程序' 可能是x

  • python中import与from方法总结(推荐)

    一.模块&包简介 模块:所谓模块就是一个.py文件,用来存放变量,方法的文件,便于在其他python文件中导入(通过import或from). 包(package): 包是更大的组织单位,用来组织区别管理多个模块文件. import 用来导入模块 from 用于从模块中导入方法(全部或部分),也可用as 重命名导入的方法 二.import&from使用方法 1. import使用方法: *import 模块 [as  别名模块] *import 包.[N包].模块; 注:import 导入

  • python中关于py文件之间相互import的问题及解决方法

    目录 问题背景 实例演示 问题背景 调试脚本时,遇到一个问题:ImportError: cannot import name 'A' from 'study_case.a' (/Users/rchera/PycharmProjects/test/study_case/a.py) 具体情况是这样婶儿的: 前些日子写了一个py文件,它的功能主要是创建数据(暂且称为create_data.py,每条数据会生成一个唯一的id): 同时写了另一个py文件,它的功能主要是操作数据,例如对数据进行编辑.删除等

  • 浅谈Python中re.match()和re.search()的使用及区别

    1.re.match() re.match()的概念是从头匹配一个符合规则的字符串,从起始位置开始匹配,匹配成功返回一个对象,未匹配成功返回None. 包含的参数如下: pattern: 正则模型 string : 要匹配的字符串 falgs : 匹配模式 match() 方法一旦匹配成功,就是一个match object对象,而match object对象有以下方法: group() 返回被 RE 匹配的字符串 start() 返回匹配开始的位置 end() 返回匹配结束的位置 span()返

  • Python中range、np.arange和np.linspace的区别

    目录 1. range 2. numpy.arange 3. numpy.linspace 参考 1. range range是python内置的一个类,该类型表示一个不可改变(immutable)的数字序列,常常用于在for循环中迭代一组特殊的数,它的原型可以近似表示如下: class range(stop) class range(start, stop, step=1) (注意,Python是不允许定义两个类初始化函数的,其实其CPython实现更像是传入不定长参数*args,然后根据le

  • Python中dumps与dump及loads与load的区别

    前言: json 模块提供了一种很简单的方式来编码和解码JSON数据. 其中两个主要的函数是 json.dumps() 和 json.loads().  1.json.dumps将一个Python数据结构转换为JSON import json data = { 'name' : 'myname', 'age' : 100, } json_str = json.dumps(data) print(json_str) 输出: {"name": "myname", &qu

  • python中的break、continue、exit()、pass全面解析

    1.break break是终止本次循环,比如你很多个while循环,你在其中一个while循环里写了一个break,满足条件,只会终止这个while里面的循环,程序会跳到上一层while循环继续往下走 以简单的for循环来举例 for i in range(10): print("-----%d-----" %i) for j in range(10): if j > 5: break print(j) 这里遇到j>5的时候第二层的for就不循环了,继续跳到上一层循环 2

  • Python中列表索引 A[ : 2 ]与A[ : , 2]的区别说明

    目录 列表索引 A[ : 2 ]与A[ : , 2]区别 创建一个列表 访问列表中的值 A[ : 2 ]与A[ : , 2]的区别 python中[::]的含义 [:-1] [::-1] [:,] 列表索引 A[ : 2 ]与A[ : , 2]区别 Python内置的一种数据类型是列表:list .list是一种有序的集合,也就是说,list中的元素是按照顺序排列的.可以随时添加和删除其中的元素.它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. 创建一个列表 构造list非常简单,按

  • Python中read()、readline()和readlines()三者间的区别和用法

    前言 众所周知在python中读取文件常用的三种方法:read(),readline(),readlines(),今天看项目是又忘记他们的区别了.以前看书的时候觉得这东西很简单,一眼扫过,待到用时却也只知道有这么几个方法,不懂得它的原理与用法.也许吧,没有永远的记忆,况且根本没有用心去记它.话不多说,来一起看看详细的介绍: 准备 假设a.txt的内容如下所示: Hello Welcome What is the fuck... 一.read([size])方法 read([size])方法从文件

  • Python中内置数据类型list,tuple,dict,set的区别和用法

    Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个内置数据类型功不可没,他们即是list, tuple, dict, set.这里对他们进行一个简明的总结. List 字面意思就是一个集合,在Python中List中的元素用中括号[]来表示,可以这样定义一个List: L = [12, 'China', 19.998] 可以看到并不要求元素的类型都是一样的.当然也可以定义一个空的List: L = [] Python中的List是有序的,所以要访问List的话显然

  • Python中表达式x += y和x = x+y 的区别详解

    前言 本文主要给大家介绍的是关于Python中表达式x += y和x = x+y 区别的相关内容,分享出来供大家参考学习,下面来看看详细的介绍: 直接看下面代码: x +=y In [66]: id(a) Out[66]: 4476839480 In [67]: id(b) Out[67]: 4476839480 In [68]: a = [1, 2, 3] In [69]: b = a In [70]: id(a) Out[70]: 4477149984 In [71]: id(b) Out[

  • Python中实现一行拆多行和多行并一行的示例代码

    粉丝提问 今天粉丝提了下面这样一个问题,其中一个是"一行拆多行",另外一个是"多行并一行",貌似群友用power query已经解决了.但是基于Python怎么做呢?接着往下看. 一行拆多行 上面这个问题我会提供两个思路,供大家选择,当然肯定是越简单得越好.每一种方法中都有一些好用的技巧,希望大家能够好好学习. 1)方法一 下方代码中有很多重要的知识点,需要我们下去好好学习一下,我这里只提供解体思路,关于每个知识点怎么用,希望大家下去自行研究学习. Pandas.m

随机推荐