Python reload 函数

ChatGPT 3.5 国内中文镜像站免费使用啦

基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门


一.Python reload 函数简介

  • 在 Python2.x 中 reload 函数是 Python 的内置函数;
  • 在 Python3.x 中 reload 函数需要导入 imp 第三方库才能使用;
# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:Python reload 函数.py
@Time:2021/05/09 08:00
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
 
"""


# 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 文件;


二.Python reload 函数使用

       假设有 module 文件 a.py :

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:Python reload 函数.py
@Time:2021/05/09 08:00
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
 
"""

def fun():
    print("python教程 www.codersrc.com")

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

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:Python reload 函数.py
@Time:2021/05/09 08:00
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
 
"""

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

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

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:Python reload 函数.py
@Time:2021/05/09 08:00
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
 
"""

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

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

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:Python reload 函数.py
@Time:2021/05/09 08:00
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
 
"""

>>>import a
>>>a.fun()         # 已经导入的module文件,直接从内存里面取,不会执行
"python教程 www.codersrc.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.codersrc.com"

三.猜你喜欢

  1. Python 条件推导式
  2. Python 列表推导式
  3. Python 字典推导式
  4. Python 不定长参数 *argc/**kargcs
  5. Python 匿名函数 lambda
  6. Python return 逻辑判断表达式
  7. Python is 和 == 区别
  8. Python 可变数据类型和不可变数据类型
  9. Python 浅拷贝和深拷贝
  10. Python 异常处理
  11. Python 线程创建和传参
  12. Python 线程互斥锁 Lock
  13. Python 线程时间 Event
  14. Python 线程条件变量 Condition
  15. Python 线程定时器 Timer
  16. Python 线程信号量 Semaphore
  17. Python 线程障碍对象 Barrier
  18. Python 线程队列 Queue – FIFO
  19. Python 线程队列 LifoQueue – LIFO
  20. Python 线程优先队列 PriorityQueue
  21. Python 线程池 ThreadPoolExecutor(一)
  22. Python 线程池 ThreadPoolExecutor(二)
  23. Python 进程 Process 模块
  24. Python 进程 Process 与线程 threading 区别
  25. Python 进程间通信 Queue / Pipe
  26. Python 进程池 multiprocessing.Pool
  27. Python GIL 锁

ChatGPT 3.5 国内中文镜像站免费使用啦
© 版权声明
THE END
喜欢就支持一下吧
点赞1 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容