python之模組系列
每個py檔案就是一個模組
現在程式開發檔案比較大,都放在一個檔案維護不便,拆分成多個,模組可增加檔案的重用率。
變數 模組的屬性值
函式 單獨的功能
類 相縱功能的組合
模組測試程式碼 臨時使用,被導用時不會執行
‘’’
使用模組的步驟
1,匯入模組
2.使用模組
·模組名.檔案或者函式
注意:第一次匯入模組的時候,檔案會從上往下走一遍
模組可以匯入多次,就不會執行模組的內容了
‘’’
匯入模組 import mode101 ''' imoprt 模組名 as 別名 import mode101 as m m.say_hello() print(m.name) ''' ''' 一行可以匯入多個模組 import mode101,mode102,,,,
匯入多個模組
import mode101
import mode102
import mode101,mode102
‘’’
‘’’
區域性匯入
from 模組名稱 import 變數名(函式名或者變數名) 匯入test函式,注意只能使用test函式不能使用其他內容 from mode102 import test #呼叫函式 test #就近原則 from mode102 import say_hello say_hello()#hello world def say_hello(): print(hello python') say_hello() #hello python
‘’’
from…import …as …別名
當匯入的模組和當前模組中的名稱相同的時候可以起別名進行區分。
from one_model import say_hello as sayhello
def say_hello():
print('hello world')
sayhello()
say_hello()
‘’’
from 模組 inport*
from my_module import * 吧 my_module中所有的不是以下劃線(_)
開頭的名字都匯入到當前的位置,大部分情況下我們會把python程式不
應該使用這種匯入方式,因為*你不知道你匯入的什麼名字,很有可能會
覆蓋之前你定義的名字,而且可讀性極其的差
‘’’
模組搜尋路徑
當你匯入一個模組,Python解析器對模組位置的搜尋順序是:
1、當前目錄
2、如果不在當前目錄,Python則搜尋在shell變數PYTHONPATH下的每個目錄。
由sys模組的sys.path方法來規定
因為sys.path返回的資料型別是列表
1、列表可以修改、我們匯入的範圍也可以通過修改sys.path這個列表獲得暫時的修改。例如通過 sys.path.append()新增目錄,匯入額外目錄的模組。
2、列表是有序的,當搜尋的過程當中,在第一個路徑下搜尋到了,就停止搜尋。而且sys.path第一個路 徑是指令碼的當前路徑,所以禁止大家講自己的指令碼命名成模組的名稱。
因此需要注意的是:自己模組命名的時候不能和系統的模組名稱相同。
‘’’
_all_屬性
_all_屬性=[變數1,變數2.。]設定匯入模組的功能
_all_=['money','read1']
#這樣在拎一個檔案中用from my_module import*就這能匯入列表中規定的倆個名字
'''
pyc臨時檔案
為了提高載入模組的速度,python直譯器會在__pycache__目錄中下快取每個模組編譯後的版本,
之後,再次被匯入時,實際上匯入的是這個.pyc的臨時檔案。
‘’’
把模組當指令碼執行
_name_的值等於'_main_'
_name_的值等於模組名
作用:用來控制py檔案在不同的應用場景下執行不同的邏輯
if _name_=="_main_"
把_name_當模組使用 他就是模組名稱
當指令碼使用 他就是_main_
當模組的測試程式碼用
當程式的入口使用
‘’’