物件導向和模組

2021-10-07 11:08:15 字數 1222 閱讀 1858

乙個模組可以多次引入,但模組只會執行一次,模組執行時也會輸出模組裡的print,我們可以用ifname==『main』:來判斷這個是不是主模組來決定是否執行他,這樣他在被別的模組呼叫時,就不會執行被if判斷後的**。

print(模組名)會輸出模組和他名字所指向的位置。

print(name)被其他模組呼叫時,會輸出這個被呼叫模組的名字,如果直接執行則會輸出__main__表示當前檔案是主檔案。

當模組被引用時,和主模組同名的變數會覆蓋主模組的變數。

_變數名,這樣寫的變數名,是不希望被別人修改的意思。

myiter = iter(lst)

print(next(myiter))

print(next(myiter))

print(next(myiter))

print(next(myiter))

print(next(myiter))

print(next(myiter))

print(next(myiter))

···輸出1,2,3,4,5,6,7

這種格式就別成為迭代資料結構。

這種訪問方式和

···for i in myiter:

print(i)

···訪問的結果是一樣的,不過是另一種方式。

在python中使用yield(中文名詞意思產量)這個關鍵字,我們就稱之為生成器函式或者生成器,他和普通函式的區別是,他會返回乙個迭代器。

···def fn():

print(『11』)

yield 1

print(『12』)

print(『13』)

yield 3

print(『14』)

yield 4

print(『15』)

yield 5

f = fn()

print(type(f))

print(『返回:』,next(f)) # 11 返回: 1

print(『返回:』,next(f)) # 12 返回: 2

print(『返回:』,next(f)) # 13 返回: 3

···輸出:

11返回: 1

1213

返回: 3

14返回: 4

表示這個函式的型別是迭代的,事實上只要函式中有乙個yield函式就是迭代的。next函式每次會在函式中讀取乙個yield變數。

模組,物件導向程式設計

直接引入模組 import model if name main print model.page 從模組中引入具體內容 from models import page if name main print page 引入模組中的全部內容 後續呼叫時 from models import if na...

物件導向 何為模組

何為模組?乙個模組就是包含了python定義和宣告的檔案,檔名就是模組加上.py的字尾.但其實import載入的模組分為四個通用類別 1.使用python編碼的 py檔案 2.一杯編譯為共享庫或dlld的c或c 擴充套件 3.包好一組模組的包 4.使用c編寫並鏈結到python直譯器的內建模組 為何...

模組使用 物件導向介紹

模組是python組織 的基本方式。乙個python指令碼可以單獨執行,也可以匯入到另乙個指令碼中執行,當指令碼被匯入執行時,我們將其稱為模組 module 所有的.py檔案都可以作為乙個模組匯入 模組名與指令碼的檔名相同 例如我們編寫了乙個名為hello.py的指令碼,則可以在另乙個指令碼中用im...