模塊
- 實質就是py文件。查看本地系統自帶的模塊
Snip20170810_1.png
- 如果想安裝其他模塊,可以通過
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
Snip20170810_3.png
如果通過別人導入后打印,name,結果是它自身的文件名字
Snip20170810_5.png
因此
if __name__ == '__main__':
test1()
test2()
上述代碼的意思就是,如果本身文件執行的,就允許執行下面的代碼,一般是測試。如果是別人調用,就不給予執行