Python基礎 12 模組

2022-09-10 03:00:17 字數 2322 閱讀 7353

模組是乙個包含所有你定義的函式和變數的檔案,其字尾名是.py。模組可以被別的程式引入,以使用該模組中的函式等功能。

模組名要遵循python變數命名規範,不要使用中文、特殊字元

先檢視系統是否已存在該模組,檢查方法是在python互動環境執行import abc,若成功則說明系統存在此模組

import moudle_name:匯入指定的py檔案,此時這個py檔案被認為是乙個模組,當前指令碼檔案可以呼叫模組中定義好的引數和函式

import module_name as newname:此語法可以用來簡化模組名稱,方便隨時呼叫

from modname import name: 從模組中匯入乙個指定的部分到當前命名空間中,而不是匯入整個模組

from modname import *: 此語法把乙個模組的所有內容全都匯入到當前的命名空間,但是其會被認為是一種「拙劣實踐」

乙個模組只會被匯入一次,不管執行了多少次import。這樣可以防止匯入模組被一遍又一遍地執行,在notebook中體現為第一次匯入時會執行一下檔案中的語句,後面再匯入則不會

在較大的模組中有很多引數與函式,為了不與當前檔案中變數名混淆,最好在呼叫時使用modname.name的結構

import numpy as np

list1 = np.arange(10)

print(list1)

[0 1 2 3 4 5 6 7 8 9]

當直譯器遇到 import 語句,如果模組在當前的搜尋路徑就會被匯入。 搜尋路徑是乙個直譯器會先進行搜尋的所有目錄的列表,是由一系列目錄名組成的,python直譯器就依次從這些目錄中去尋找所引入的模組

搜尋路徑是在python編譯或安裝的時候確定的,安裝新的庫應該也會修改。搜尋路徑被儲存在sys模組中的path變數

sys.path 輸出是乙個列表,其中第一項是空串'',代表當前目錄,即我們執行python直譯器的目錄,對於指令碼的話就是執行的指令碼所在的目錄

import sys

sys.path

['',

'd:\software\anaconda3\python36.zip',

'd:\software\anaconda3\dlls',

'd:\software\anaconda3\lib',

'd:\software\anaconda3',

'd:\software\anaconda3\lib\site-packages',

'd:\software\anaconda3\lib\site-packages\win32',

'd:\software\anaconda3\lib\site-packages\win32\lib',

'd:\software\anaconda3\lib\site-packages\pythonwin',

'd:\software\anaconda3\lib\site-packages\ipython\extensions',

'c:\users\wanyu\.ipython']

.py檔案被直接執行時,if __name__ ==』__main__'之下的**塊將被執行;當.py檔案以模組形式被匯入時,if __name__ == '__main__'之下的**塊不被執行

if __name__ == '__main__':

pass # 所需要執行的語句

在模組中定義的函式與變數一般分為外部不需要的和需要的,外部需要的定義為public,正常定義即可,外部不需要的定義成private,即在變數名前加___

包是一種管理 python 模組命名空間的形式,採用"點模組名稱"使用模組的時候,不用擔心不同模組之間的全域性變數相互影響。採用點模組名稱這種形式也不用擔心不同庫之間的模組重名的情況

目錄只有包含乙個叫做__init__.py的檔案才會被認作是乙個包

__init__.py可以是空檔案,也可以有python**,因為其本身就是乙個模組

一般推薦使用from package import specific_submodule語句來匯入包中的模組

內建的函式 dir() 可以找到模組內定義的所有名稱。以乙個字串列表的形式返回

如果沒有給定引數,那麼 dir() 函式會羅列出當前定義的所有名稱

python 基礎系列12 os模組

python 基礎系列 os模組 引入sys庫 import sys import copy from functools import reduce import os if name main print 11 print os.name nt print os.getcwd 工作路徑 prin...

Python中的模組 常用模組 12

在電腦程式的開發過程中,隨著程式 越寫越多,在乙個檔案裡 就會越來越長,越來越不容易維護。為了編寫可維護的 我們把很多函式分組,分別放到不同的檔案裡,這樣,每個檔案包含的 就相對較少,很多程式語言都採用這種組織 的方式,在python中,乙個.py檔案就稱之為乙個模組 module 首先使用模組最大...

python標準模組學習12

python標準庫中的json模組之前在做專案的時候小用過一次,當時抓包獲取到gzip壓縮包,使用gzip模組解壓之後讀取得到字串,之後用json模組轉換成json進行處理的 就我個人而言,在用python做的專案中,在進行資料傳遞是主要還是以字典的形式 也就是json 1.將字串轉換成字典 jso...