自學python系列11 python的模組

2022-05-30 22:18:09 字數 2331 閱讀 4275

1.1什麼是模組

當**量很大時,把**分成一些有組織的**段。python允許「調入」乙個模組,允許使用其他模組的屬性來利用之前的工作成果,實現**重用。把其他模組屬性附加到你的模組中的操作叫匯入。那些自我包含並有組織的**片段是模組(module)

1.2模組和檔案

乙個檔案是獨立模組,乙個模組也可以被看作乙個檔案。與其他可以匯入類的語言不同,在python中匯入的是模組或模組屬性。

1.2.1模組命名空間

通過句點屬性標識指定各自的命名空間-防止名稱衝突的發生,

1.2.2搜尋路徑和路徑搜尋

sys.path

1.3命名空間

執行期間有兩個或三個活動的命名空間。這三個命名空間分別是區域性命名空間,全域性命名空間和內建命名空間。

1.3.1命名空間和變數作用域比較

1.3.2名稱查詢,確定作用域,覆蓋

先區域性命名空間查詢,全域性命名空間,內建名稱控制項;還找不到:

>>> yu

traceback (most recent call last):

file "", line 1, in

yunameerror: name 'yu' is not defined

1.3.3無限制的命名空間

1.4匯入模組

1.4.1import語句

使用import語句匯入模組:

import module1

import module2

也可以一行匯入多個:

1.4.2from-import語句

把指定名稱匯入到當前作用域

1.4.3多行匯入

從乙個模組匯入很多屬性,直到自動換行,需要乙個\

from tkinter import tk,frame,button,entry,canvas,\

text,left,disabled,normal,ridge,end

可選擇多行的from-import語句:

from tkinter import tk,frame,button,entry,canvas

from tkinter import text,left,disabled,normal,ridge,end

真正的python程式設計師應用python的標準分組機制(圓括號)來建立更合理的多行匯入語句:

nter import (tk,frame,button,entry,canvas,text,left,disabled,normal,ridge,end)

1.4.4擴充套件的import語句(as)

1.5模組匯入的特性

1.5.1載入時執行模組

1.5.2匯入和載入

匯入可以多次,但載入執行只在第一次匯入時發生

1.5.3匯入到當前命名空間的名稱

訪問模組module中的var:

from module import var

把指定模組所有名稱匯入到當前命名空間裡:

1.5.4被匯入到匯入者作用域的名字

1.5.5關於__future__

1.6模組內建函式

1.6.2globals()和locals()

module是你想要重新匯入的模組。使用reload()有一些標準。首先模組必須是全部匯入(不是使用from-import),而且必須被成功匯入。另外reload()函式的引數必須是模組自身而不是包含模組名的字串,也就是說必須類似reload(sys)而不是reload('sys')

python自學系列

task5 時長 2天 1 類和物件 2 正規表示式 3 re模組 4 os模組 5 http請求 1 類和物件 物件導向技術簡介 類 class 用來描述具有相同的屬性和方法的物件的集合。它定義了該集合中每個物件所共有的屬性和方法。物件是類的例項。方法 類中定義的函式。類變數 類變數在整個例項化的...

Python自學筆記 11 列表推導

用到函式的乙個常見操作是將其用於乙個列表的所有項,並使用結果來建立乙個新的列表。如果我們要生成list 1,2,3,4,5,6,7,8,9,10 能用哪種方法呢?當然最基礎的方法可以參見列表 上 但是,這種只適合項比較少的一些場景,現在我們要生成1到999的列表怎麼辦呢?list range 1,1...

Python自學筆記11 字典(方法)

1 clear 清除方法 value1 value1.clear print value1 輸出 2 copy方法 deepdeepy函式 copy方法複製的字典只是淺複製,只複製第1層字典資料,第2層及以下的說有資料層,原字典與新字典指向同乙個值。value1 複製生成乙個value2 value...