当前位置:
首页 > Python基础教程 >
-
import reload __import__在python中的区别
import
作用:导入/引入一个python标准模块,其中包括.py文件、带有__init__.py文件的目录(自定义模块)。
import module_name[,module1,...]
from module import *|child[,child1,...]
注意:多次重复使用import语句时,不会重新加载被指定的模块,只是把对该模块的内存地址给引用到本地变量环境。
实例:
pythontab.py
1
2
3
4
|
#!/usr/bin/env python #encoding: utf-8 import os print 'in pythontab' , id (os) |
test.py
1
2
3
4
5
6
|
#!/usr/bin/env python #encoding: utf-8 import pythontab #第一次会打印pythontab里面的语句 import os #再次导入os后,其内存地址和pythontab里面的是一样的,因此这里只是对os的本地引用 print 'in c' , id (os) import pythontab #第二次不会打印pythontab里面的语句,因为没有重新加载 |
reload
作用:对已经加载的模块进行重新加载,一般用于原模块有变化等特殊情况,reload前该模块必须已经import过。
import os
reload(os)
说明:
reload会重新加载已加载的模块,但原来已经使用的实例还是会使用旧的模块,而新生产的实例会使用新的模块;reload后还是用原来的内存地址;不能支持from。。import。。格式的模块进行重新加载。
实例:
pythontab.py
1
2
3
4
|
#!/usr/bin/env python #encoding: utf-8 import os print 'in pythontab' , id (os) |
test.py
1
2
3
4
5
6
|
#!/usr/bin/env python #encoding: utf-8 import pythontab #第一次import会打印pythontab里面的语句 print id (pythontab) #原来pythontab的内存地址 reload (pythontab) #第二次reload还会打印pythontab里面的语句,因为有重新加载 print id (pythontab) #reload后pythontab的内存地址,和原来一样 |
扩展:
上面说了,在特殊情况的下才会使用reload函数;除了原来模块文件有修改外,还有哪些情况需要使用reload函数呢,这里举个例子。
1
2
3
4
5
|
#!/usr/bin/env python #encoding: utf-8 import sys #引用sys模块进来,并不是进行sys的第一次加载 reload (sys) #重新加载sys sys.setdefaultencoding( 'utf8' ) ##调用setdefaultencoding函数 |
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式