一.reload函数简介

    在python2.x中reload函数是python的内置函数;

    在python3.x中reload函数需要导入imp第三方库才能使用

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
# python2 内置函数
reload(module)

# python3
from imp import reload # 导入模块

reload(module)

 

 

说明:

    1.module 必须是已经成功导入的模块,使用 reload函数的前提,是reload函数重新导入的模块在之前已经使用import或者from导入成功了,否则,reload函数也无法生效,导入是一个开销很大的操作;

    2.python中的import语句可以导入module文件,但是import语句只是第一次导入的时候会执行module文件中的代码,然后就会把导入的模块文件存入到内存,当再次导入的时候,Python是直接从内存里面取出module文件,而不会执行module文件的内容了,而reload函数强制Python重新导入并执行module文件;

 

二.reload函数使用

假设有module文件a.py:

def fun():
    print("python教程")

 

然后在可交互的控制台执行如下代码:

>>>import a
>>>a.fun()
"python教程 www.shuopython.com"

 

然后我们不退出可交互式控制台,然后修改a.py:

def fun():
    pirnt("猿说python www.shuopython.com")

 

然后在到可交互的控制台执行如下代码:

 

>>>import a
>>>a.fun()         # 已经导入的module文件,直接从内存里面取,不会执行
"python教程 www.shuopython.com"


>>>from imp import reload   # 对于Python 3.X来说,reload不是内置函数,而是imp module的一个函数
>>>reload(a)
<module 'a' form '/home/chaochao/python/a.py'>
>>>a.fun()       # 对module文件a.py的改动反映出来了
"猿说python www.shuopython.com"

 

 

猜你喜欢:

    1.python chr/ord区别

    2.python is 和 == 区别

    3.python 可变数据类型和不可变数据类型

 

 

    转载请注明:猿说Python » python reload函数

 

技术交流、商务合作请直接联系博主 扫码或搜索:猿说python  python reload函数 Python 猿说python 微信公众号 扫一扫关注
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄