何謂模組?指的就是python中一個一個的.py檔
若hello.py的內容如下
import sys
fileName = sys.argv[0]
arr = sys.argv[1:]
print(fileName)
print(arr)
則執行
python python.py 111 222
可印出python.py及包含111及222的陣列
當我們執行import時,會先執行該模組中的每一行
若要只import模組中的某個變數,則可如此下指令:
frome hello import arr
print(arr)
當然會是空陣列,因為沒有傳入任何的參數
另外,在import之後,你會在.\__pycache__下發現
.pvc檔案 (若程式在該目錄有檔案獨寫權限的話)
這個檔案等同於C++中的.o檔,為binary code,目的是用來減少直譯的時間,增加執行的速度 (若原始碼有更改的話就再重新產生)
from import指令的功用是”複制”模組中的參數
並不會影響原本參數的數值
使用dir(hello)可以得到hello模組中所有的參數名稱陣列
from hello import sys, fileName =>是匯入二個參數
from hello import * =>是將名稱全部匯入
import 跟 from import 只會執行一次
若要重新執行模組,則可使用:
import imp
imp.reload(hello)
也可以用以下方法載入模組來執行:
exec(open(“hello.py”).read())
__name__ =>若.py檔是獨立執行的話,其名稱會在呼叫時設成’__main__’ (也就是說自己就是程式入口點)
若是被import的話 __name__則會被設成模組的名稱,因此通常我們一個最基本的.py檔的寫法會是這樣:
def main():
print(“test”)
if __name__ == ‘__main__’:
main()
這樣寫的話,就是當.py檔是獨立執行的時候就會去呼叫main()進而達到我們功能測試的目的
否則的話,就是作為函式庫提供給別的.py檔來import執行
最後,利用
import sys
sys.path
可以得到python的環境變數路徑
Aurora
好东西!
Phillip
感谢分享!超级赞!
博彩网
失去的东西,其实从来未曾真正地属于你,也不必惋惜