python模块之模块用于定义
来源:互联网 发布:java常考面试题 编辑:程序博客网 时间:2024/04/30 15:53
模块是程序:
任何python程序都可以作为模块导入;
通过python IDLE执行保存在文件夹中的文件:
编辑一个python文件hello.py,保存在文件夹D:\program files (x86)\python3.5下,然后进行下面操作:
这里是告诉编译器,除了从默认的目录中查找外,还要从D:\program files (x86)\python3.5中查找模块;
生成的.pyc文件是(平台无关的)经过处理(编译)的,已经转换成python能够更加处理的文件,如果再导入相同的模块,导入的是.pyc文件,而不是.py文件;
如果再次导入,就什么也不会发生了:
这些内容只需要定义一次,所以导入多次效果与导入一次是相同的。
如果希望重新导入生效,python2中还有另外一种方法:hello = reload(hello),python3已经去掉了该方法。
模块用于定义:
在模块中定义函数(主要用于代码重用):
#hello.py
def hello():
print ('hello nannan!!')
执行:
模块被用来定义函数,类和其他一些内容,但是,有时候在模块中需要添加一些检查模块本身是否能正常工作的测试代码。
#hello.py
def hello():
print ('hello nannan!!')
#A test
hello()
如果将其作为模块导入,会出现下面的情况:
导入时执行了一遍方法,然后调用时又执行了一遍方法。
可以使用下面的方式解决上面的问题:
#hello.py
def hello():
print ('hello nannan!!')
def test():
hello()
if __name__ == '__main__':test()
然后进行执行:
所以得出:
避免导入时执行内容,需要使用变量__name__;
__name__变量的默认值为'__main__';
而在导入模块时,这个值被赋值为模块名,所以在文件中加入代码:if __name__ == '__main__':test(),在非导入模块时,会执行test()方法,将模块进行导入时,name被赋值为模块名,test()方法测试代码将不被执行。
- python模块之模块用于定义
- Python模块的定义
- Python模块之---random模块
- python模块之时间模块
- python模块之os模块
- python模块之JSON模块
- python中模块的定义
- python模块定义和使用
- Drupal7 模块开发 之 定义模块
- Python 中的random模块用于生成随机数
- Python中的random模块用于生成随机数
- python模块之zipfile
- python模块之base64
- python模块之uuid
- python模块之StringIO
- python模块之codecs
- python模块之HTMLParser
- python模块之codecs
- 第五届蓝桥杯B组Java—分糖果
- 2016蓝桥杯省赛 方格填数
- TortoiseGit 使用教程
- NullPointerException: with ActionBar.setDisplayHomeAsUpEnabled(boolean)' on a null object reference
- 核桃的数量
- python模块之模块用于定义
- php基础题
- java-方法重载与方法重写
- Mac 安装jdk,并关联eclipse 记录
- Linux_Linux Shell 用curl 发送请求
- Dubbo的使用及原理浅析.
- (java)leetcode-27
- jsp和Servlet中的乱码问题
- 流氓玩法