Python函式 模組 包

2021-09-29 18:51:07 字數 3110 閱讀 2293

任何傳入引數和自變數必須放在圓括號中間。圓括號之間可以用於定義引數。

函式的第一行語句可以選擇性地使用文件字串—用於存放函式說明。

函式內容以冒號起始,並且縮排。

return [表示式] 結束函式,選擇性地返回乙個值給呼叫方。不帶表示式的return相當於返回 none。

可更改(mutable)與不可更改(immutable)物件

在 python 中,strings, tuples, 和 numbers 是不可更改的物件,而 list,dict 等則是可以修改的物件。

python 函式的引數傳遞:

不可變型別:類似 c++ 的值傳遞,如 整數、字串、元組。如fun(a),傳遞的只是a的值,沒有影響a物件本身。比如在fun(a)內部修改 a 的值,只是修改另乙個複製的物件,不會影響 a 本身,類似值傳遞。

可變型別:類似 c++ 的引用傳遞,如 列表,字典。如 fun(la),則是將 la 真正的傳過去,修改後fun外部的la也會受影響,類似引用傳遞。

必備引數

必備引數須以正確的順序傳入函式。呼叫時的數量必須和宣告時的一樣。

呼叫printme()函式,必須傳入乙個引數,不然會出現語法錯誤:

關鍵字引數

函式呼叫使用關鍵字引數來確定傳入的引數值。使用關鍵字引數允許函式呼叫時引數的順序與宣告時不一致,因為 python 直譯器能夠用引數名匹配引數值。

輸出結果說明使用關鍵字引數後,引數輸入順序並不重要

:"函式_文件字串"

python 模組(module),是乙個 python 檔案,以 .py 結尾,包含了 python 物件定義和python語句。模組能夠更有邏輯地組織 python **段,使得**更好用,更易懂。模組能定義函式,類和變數,模組裡也能包含可執行的**。

模組定義好後,使用 import 語句來引入模組

每個函式都有自己的命名空間。類的方法的作用域規則和通常函式的一樣。python 會猜測乙個變數是區域性的還是全域性的,它假設任何在函式內賦值的變數都是區域性的。因此,如果要給函式內的全域性變數賦值,必須使用 global 語句。global varname 的表示式會告訴 python, varname 是乙個全域性變數,這樣 python 就不會在區域性命名空間裡尋找這個變數。

例如在全域性命名空間裡定義乙個變數 money。再在函式內給變數 money 賦值,然後 python 會假定 money 是乙個區域性變數。

然而,並沒有在訪問前宣告乙個區域性變數 money,結果就是會出現乙個 unboundlocalerror 的錯誤。

取消 global 語句前的注釋符就能解決這個問題。

正確輸出結果:

根據呼叫地方的不同,globals() 和 locals() 函式可被用來返回全域性和區域性命名空間裡的名字。

如果在函式內部呼叫 locals(),返回的是所有能在該函式裡訪問的命名。

如果在函式內部呼叫 globals(),返回的是所有在該函式裡能訪問的全域性名字。

兩個函式的返回型別都是字典。所以名字們能用 keys() 函式摘取。

包是乙個分層次的檔案目錄結構,它定義了乙個由模組及子包,和子包下的子包等組成的 python 的應用環境。簡單來說,包就是資料夾,但該資料夾下必須存在init.py 檔案, 該檔案的內容可以為空。init.py 用於標識當前資料夾是乙個包。

#__init__.py**

if __name__ ==

'__main__'

:print

('作為主程式執行'

)else

:print

('package_yt 初始化'

)#yt1.py**

defyt1()

:print

("i'm in yt1"

)#yt2.py**

defyt2()

:print

("i'm in yt2"

)#main.py**

from package_yt.yt1 import yt1

from package_yt.yt2 import yt2

yt1(

)yt2(

)

python(五)函式 模組 包

模組 包的概念?在python中,乙個.py檔案就稱之為乙個模組 module 我們在編寫程式的時候,也經常引用其他模組,包括python內建的模組和來自第三方的模組 你也許還想到,如果不同的人編寫的模組名相同怎麼辦?為了避免模組名衝突,python又引入了按目錄來組織模組的方法,稱為包 packa...

Python基礎 函式 模組 導包

1.預設引數 呼叫時不需要傳參,更加方便 def get sum start 1,end 100 pass2.可變數量引數 數量可變 引數名稱 裝包,型別是元組 def test a,b,args,c 0 print a,b,args,c test 1,2,3,4,5,c 100 1 2 3,4,5...

python函式 模組

一 函式 函式是組織好的,可以重複利用,用來實現一定功能的 段。1 函式的組成部分 1 函式 塊以 def 關鍵字開始,後接函式名稱和括號 然後是冒號 2 任何傳入的引數和自變數必須放在 中 3 函式第一行語句可以寫注釋表明函式的功能 4 段,描述了函式實現的功能,需要縮排 5 return 表示式...