在python中,每一个以 .py结尾的Python文件都是一个模块。其他的文件可以通过导入一个模块来读取该模块的内容。导入从本质上来讲,就是载入另一个文件,并能够读取那个文件的内容。一个模块的内容通过这样的属性能够被外部世界使用。
这种基于模块的方式使模块变成了Python程序架构的一个核心概念。更大的程序往往以多个模块文件的形式出现,并且导入了其他模块文件的工具。其中的一个模块文件被设计成主文件,或叫做顶层文件(就是那个启动后能够运行整个程序的文件)。
默认情况下,模块在第一次被导入之后,其他的导入都不再有效。如果此时在另一个窗口中改变并保存了模块的源代码文件,也无法更新该模块。这样设计的原因在于,导入是一个开销很大的操作(导入必须找到文件,将其编译成字节码,并且运行代码),以至于每个文件、每个程序运行不能够重复多于一次。
那么想要使得Python在同一次会话中再次运行文件,该怎么办呢?这就需要调用imp标准库模块中的reload函数。如下所示
from imp import reload
reload(MyModule)
这样就可以重新装载MyModule模块,使得修改有效。
注意:reload函数希望获得的参数是一个已经加载了的模块对象的名称,所以如果在重载之前,请确保已经成功地导入了这个模块。
说明:Python 3.0把reload内置函数移到了imp标准库模块中。它仍然像以前一样重载文件,但是,必须导入它才能使用。在Python 3.0中,运行import imp并使用imp.reload(M),或者像上面所示的,运行from imp import并使用reload(M)。
分享到:
相关推荐
12. **模块重命名**: Python3.0中,一些旧模块如`urllib`进行了重构,分为`urllib.request`,`urllib.parse`和`urllib.error`等多个子模块。 廖雪峰的Python3.0教程不仅涵盖了以上这些核心变更,还深入浅出地讲解了...
1. **打印语句作为函数**:在Python 2.x中,`print` 是一个语句,而在Python 3.0中,它被转换为一个函数,即 `print()`. 这使得打印更加灵活,可以通过传递参数来控制输出。 2. **整数除法**:在Python 3.0中,两个...
以上只是 Python 3.0 学习的一部分,实际教程中还可能包括正则表达式、网络编程、多线程、并发处理、数据库操作等内容。在 www.runoob.com 的 Python 3.0 菜鸟教程中,你将逐步学习并实践这些知识,构建坚实的编程...
Python 3.0 Eclipse Plugin是专门为开发者设计的一款强大的集成开发环境插件,它将Python 3.0的开发功能无缝地融入到了Eclipse之中。Eclipse是一款广泛应用的开源集成开发环境(IDE),支持多种编程语言,而Python ...
- **重复强调**:描述中重复四次“深入Python 3.0”,可能是为了强调本书的主题和重点,确保读者理解该书的核心内容是关于深入学习Python 3.0。 - **预期读者**:预期读者是那些已经阅读过原版“深入Python”并对其...
python3.0 猜数字小游戏,用python3.0 实现一个猜数字小游戏
这是python 3.0的官方指导手册。
python3.0更新的参考文档,锻炼你的英语水平。绝对的实用,只要你略有English。。。
python3.0爬虫抓取北京天气json
安装这个程序后,用户可以获得完整的win32com接口和其他相关模块,以便在Python 3.0环境中进行Windows特定的编程工作。 总的来说,Pythonwin win32 for Python 3.0是一个强大的工具,它让Python开发者能够充分利用...
Python 3.0是Python编程语言的一次重大升级,它解决了Python 2.x中的一些长期存在的问题,并引入了多项改进。Python 3.0在语法上做了许多调整,例如,去除了旧版中的print语句,改为print()函数;统一了整数除法,...
Python 2.x中的字符串分为字节字符串(str)和Unicode字符串(unicode),而在Python 3.0中,只有一个str类型,它默认就是Unicode,这简化了处理文本数据的过程。同时,print语句在Python 3.0中被重新定义为一个函数...
1. **字符串改革**:在Python 3.0中,字符串是以Unicode编码的,统一了str和unicode类型,简化了文本处理。此外,print语句被改为print()函数,使得输出更加灵活。 2. **整数除法**:在Python 3中,整数除法(例如5...
- **新模块与更新**:Python 3.0 引入了新的标准库模块,如 `asyncio` 用于异步编程,同时更新了许多现有模块,以适应新版本的特性。 **2. Python 基础** - **变量与数据类型**:Python 支持多种数据类型,包括...
在Python 3.0b3中,一些关键的更新和改动包括: 1. **语法改进**: - 删除了`print`语句,将其替换为`print()`函数,提高了语法的一致性。 - 引入了`yield from`语法,用于在生成器中递归地使用其他生成器。 - ...
This book is updated for the new Python 3.0 language. If you are looking for a tutorial on the current Python 2.x version, please download the previous revision of the book [5]. On the same note, if ...
- **模块重命名**:部分模块在 Python 3.0 中进行了重命名,如 `urllib` 分解为多个子模块,以提高可维护性和可读性。 - **模块更新**:如 `os`, `sys`, `datetime` 等核心模块进行了增强,增加了新的功能。 6. *...