模块
- 实质就是py文件。查看本地系统自带的模块
- 如果想安装其他模块,可以通过
sudo pip install pygame
如果是python3
sudo pip3 install pygame
如果ubuntu系统提示找不到pip命令可以通过源添加
sudo apt-get install python3-pip
- 自己写一个模块,也就是写一个py文件
文件名:sendmsg.py
def test1():
print ("----test1---")
def test2():
print ("-----test2----")
if __name__ == '__main__':
test1()
test2()
文件名:receivemsg.py
def test1():
print ("reveive----test1---")
def test2():
print ("reveive-----test2----")
test1()
test2()
我们正常写代码需要测试的,比如单元测试,在公司提交代码之前也要现自己测试。毕竟不想做no1.
汇总后写一个main.py测试所有不同模块的代码。
文件名:main.py
import sendmsg as s
import revmsg as r
s.test1()
s.test2()
r.test1()
此处就看到了非常常见的import关键字,由此就证明,模块其实就是个py文件。毕竟我只写一个两个py文件,正好就可以导入了。运行main.py会发现如下运行结果
Snip20170810_2.png
发现main.py中只进行了三次函数调用,结果确显示5个调用。
原来,每个模块被导入的时候,默认情况都会执行一遍所有的函数。注意,这里的sendmsg.py文件末尾有一处不同于receive.py文件。因此结果中只出现reveive打印两次,sendmsg并没有打印。
if __name__ == '__main__':
test1()
test2()
到底是什么意思?
如果是本身打印name,结果是main
如果通过别人导入后打印,name,结果是它自身的文件名字
Snip20170810_5.png
因此
if __name__ == '__main__':
test1()
test2()
上述代码的意思就是,如果本身文件执行的,就允许执行下面的代码,一般是测试。如果是别人调用,就不给予执行
网友评论