Python隨心記 module模組和包

2022-06-23 03:09:09 字數 1351 閱讀 7375

import

sysprint(sys.path) #

列印python直譯器的路由

新增路徑(臨時修改)

module模組和包(packge,該檔案下有個__init__.py檔案)
import module[,module]   #

引入模組

模組一共三種

python標準庫模組

第三方模組

應用程式自定義模組

引入自定義模組(1會把引入的.py檔案執行一遍,2引入cal變數名)

import cal   #

(前提:同級目錄)標紅下劃線不是報錯,是pycharm無法判斷自定義模組

print(cal.add(3,1)) #

使用cal模組中的add方法

from cal import add #

引入cal模組下的add方法

from cal import * #

引入cal模組下的所有方法,但不推薦,可能存在同名函式覆蓋的風險

print(add(3,1)) #

使用cal模組中的add方法

關於引入檔案的路徑(不同級目錄時)   #詳情請看lesson目錄下的引入結構
import

sysprint

(sys.path)

from lesson import cal #

引入lesson下的cal模組

print(cal.add(2,8))

模組的執行及__name__

from web.webs.webss import cal   #

多層packge包之間 的呼叫:在module_lesson下呼叫webss下的cal

from web.webs.webss.cal import add

if __name__ = '__main__':   #判斷來自哪個packge的方法,用於方便被呼叫檔案測試

如果我們是直接執行某個.py檔案的時候,該檔案中那麼__name__ = '__main__'是true,但是我們如果從另乙個.py檔案通過import匯入該檔案,這時'__name__' = '__main__'的值就是我我們這個py檔名的名字,而不是__main__

這個功能還有乙個用處:除錯**的時候在if '__name__' = '__main__'中加入一些我們的調式**,我們可以讓外部的模組呼叫的時候不執行我們除錯的**,但是如果我們想排查問題的時候,直接呼叫該模組檔案,除錯**能夠正常執行

Python隨心記 鎖

同步鎖 死鎖 遞迴鎖 訊號量和同步evrnt物件 了解即可 佇列 生產者消費者模型 程序併發並行與同步非同步的概念 併發 系統具有處理多個任務 動作 的能力 並行 系統具有同時處理多個任務 動作 的能力 並行時併發的乙個子集 同步 當程序執行到乙個io 等外部的資料 的時候,等 就是同步 不等 直到...

Python隨心記 練習

l1 11,22,33 l2 22,33,44 for item in l1 if item not inl2 print item 統計123455678組合兩位數且不能重複 num 0 for item in range 1,9 for vtem in range 1,9 if item vte...

Python隨心記 程序 執行緒

程序 執行緒 程序最小的資源單位 執行緒屬於最小的執行單元 程序可以理解為執行緒的容器 不能獨立存在,建立在程序的基礎之上 乙個程式至少有乙個程序,乙個程序至少有乙個執行緒 開啟執行緒例項import threading import time defhi num print hello d num...