基于Python2、Python3中reload()的不同用法介绍

 更新时间:2019年08月12日 16:41:21   作者:mighty13  
今天小编就为大家分享一篇基于Python2、Python3中reload()的不同用法介绍,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

reload() 简介

作用:用于重新载入之前载入的模块

语法格式:reload(module)

参数:module为模块对象,必须已经被加载

返回值:返回模块对象

注意事项:

多次重复使用import语句时,不会重新加载被指定的模块,只是把对该模块的内存地址给引用到本地变量环境。

reload()会重新加载已加载的模块,重新编译模块,重新执行模块级代码,但是__init__函数不再重复执行,原来已经使用的实例还是会使用旧的模块,而新生产的实例会使用新的模块;reload后还是用原来的内存地址;不支持from ... import ...格式的模块进行重新加载。

大部分模块设计为只加载一次,重新加载可能导致一些问题,因此,慎用reload()。

使用sys.modules可查看已加载的模块。

Python2

在Python2中,reload()为内置函数。

例:重设字符编码

>>>import sys
>>> sys.getdefaultencoding()      # 当前默认编码
'ascii'
>>> reload(sys)             # 使用 reload
<module 'sys' (built-in)>
>>> sys.setdefaultencoding('utf8')   # 设置编码
>>> sys.getdefaultencoding()
'utf8'
>>>

Python3

在Python3中,reload()被转移到imp模块以及importlib模块中。

Python3.4之前在imp中,Python3.4之后imp模块逐步被废弃,reload()移至importlib模块中。

>>> import sys
>>> reload(sys)
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
NameError: name 'reload' is not defined
>>> from imp import reload
__main__:1: DeprecationWarning: the imp module is deprecated in favour of importlib;
 see the module's documentation for alternative uses
>>> reload(sys)
<module 'sys' (built-in)>
>>> from importlib import reload
>>> reload(sys)
<module 'sys' (built-in)>

以上这篇基于Python2、Python3中reload()的不同用法介绍就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • python dict乱码如何解决

    python dict乱码如何解决

    在本篇文章里小编给大家分享了关于python dict乱码解决方法,需要的朋友们可以参考下。
    2020-06-06
  • Python实现矩阵加法和乘法的方法分析

    Python实现矩阵加法和乘法的方法分析

    这篇文章主要介绍了Python实现矩阵加法和乘法的方法,结合实例形式对比分析了Python针对矩阵的加法与乘法运算相关操作技巧,需要的朋友可以参考下
    2017-12-12
  • python语法 range() 序列类型range

    python语法 range() 序列类型range

    这篇文章主要介绍了python语法 range() 序列类型range,range是一种序列类型,range类型用于表示不可变的整数序列,下面小编整理了简单内容,需要的小伙伴可以参考一下
    2022-01-01
  • Python读入mnist二进制图像文件并显示实例

    Python读入mnist二进制图像文件并显示实例

    这篇文章主要介绍了Python读入mnist二进制图像文件并显示实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • python爬虫筛选工作实例讲解

    python爬虫筛选工作实例讲解

    在本篇内容里小编给大家整理的是一篇关于python爬虫筛选工作实例讲解内容,有需要的朋友们可以参考下。
    2020-11-11
  • 简单的命令查看安装的python版本号

    简单的命令查看安装的python版本号

    在本篇内容里小编给大家整理的是关于简单的命令查看安装的python版本号的文章,需要的朋友们可以参考下。
    2020-08-08
  • Python中寻找数据异常值的3种方法

    Python中寻找数据异常值的3种方法

    这篇文章主要介绍了Python中寻找数据异常值的3种方法,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • 深入Python函数编程的一些特性

    深入Python函数编程的一些特性

    这篇文章主要介绍了更为深入的Python函数编程的一些特性,本文来自于IBM官方开发者技术文档,需要的朋友可以参考下
    2015-04-04
  • Python如何判断字符串是否仅包含数字

    Python如何判断字符串是否仅包含数字

    在用Python进行数据处理的时候,经常会遇到DataFrame中的某一列本应该是数值类型,但由于数据不规范导致在字段中夹杂了非数值类型,本文就介绍了Python如何判断字符串是否仅包含数字,感兴趣的可以了解一下
    2022-03-03
  • Python如何将装饰器定义为类

    Python如何将装饰器定义为类

    这篇文章主要介绍了Python如何将装饰器定义为类,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07

最新评论