模組:
拿來就用
節省開發時間
提公升效率
結構化, 便於查詢 ,便於修改,便於維護
模組分類: 內建模組,第三方模組(pypi第三方模組平台),自定義模組
乙個py檔案就是乙個模組 模組名是不需要加字尾名的
為了防止重複匯入,python優化,第一次匯入後會把模組名載入到記憶體,後續的import語句僅是對已經載入到記憶體中的模組物件增加了一次引用,不會重新執行模組內的語句
匯入發生的事情:
在當前的命名空間中開闢乙個新的空間
將模組中的所有**執行
通過模組名進行查詢函式(工具)
每個模組都是乙個獨立的命名空間
起別名:
import text as t
t.func()
做相容性
choose = input(msg)
if choose == '1':
import meet as t
elif choose == '2':
import text as t
t.func()
匯入多個模組
import os,sys,json #可以這樣寫單不推薦
# 推薦分開寫:
import os
import sys
import json
from text import func
func()
1. import 和 from的區別
import:
優點:不會和當前檔案定義的變數或者函式發生衝突
缺點:占用記憶體比較大
from:
優點:占用記憶體比較小
缺點:會和當前檔案定義的變數或函式發生衝突
解決辦法:起別名
from test import name as n
from test import name,func,foo
把檔案中所有的不是以下劃線開頭的名字都匯入到當前位置
可能會覆蓋之前定義的名字,可讀性差
# 在被匯入的模組頂部寫
__all__['name','func()'] # 你想匯入的
# 只針對 *
指令碼: 在終端中執行
模組: 不使用或者匯入
if __name__ == '__main__': #測試介面
func()
# 在當前模組中使用__name__就是'__main__'
# 當模組被匯入的時候__name__就是被匯入的模組名
相對路徑: form day15.t1 import text
從day15資料夾的t1資料夾中匯入text模組
絕對路徑:
from sys import path
path.insert(0,'d:\\') # 把絕對路徑加到環境變數中
記憶體中已經載入的模組->內建模組->sys.path路徑中包含的模組
自定義的模組名不應該與系統內建模組重名
自定義模組
自定義模組 也就是我們自己寫的 1.配置模組說明檔案 npm init 就會生成乙個package.json的檔案 main index.js 我們的主檔案是index.js index.js是這個包的輸出檔案,即便刪除了package.json只要不改變index.js的檔名就沒事,一旦改了就會報...
自定義模組
匯入 拿工具箱 import import test test.func 1 避免寫重複 2 可以多次利用 3 拿來主義print locals import test print locals import test print test.name import test print test.f...
自定義模組
目錄為什麼要使用模組?人們常說的指令碼是什麼?模組的分類 2.import 3 from import 4.py檔案的兩種功能 目錄為什麼要使用模組?人們常說的指令碼是什麼?模組的分類 2.import 3 from import 4.py檔案的兩種功能 乙個函式封裝乙個功能,你使用的軟體可能就是由...