(1)形式引數:形參
(2)實際引數:實參
(3)關鍵字引數:關鍵字引數是指使用形式引數的名字來確定輸入的引數值。通過此方式指定函式實參時,不再需要與形參的位置完全一致,只要將引數名寫正確即可。但需要注意,混合傳參時關鍵字引數必須位於所有的位置引數之後。
(4)預設引數:python 允許為引數設定預設值,即在定義函式時,直接給形式引數指定乙個預設值。這樣的話,即便呼叫函式時沒有給擁有預設值的形參傳遞引數,該引數可以直接使用定義函式時設定的預設值。注意,在使用此格式定義函式時,指定有預設值的形式引數必須在所有沒預設值引數的最後,否則會產生語法錯誤。
(5)位置引數:有時也稱必備引數,指的是必須按照正確的順序將實際引數傳到函式中,換句話說,呼叫函式時傳入實際引數的數量和位置都必須和定義函式時保持一致。
(1)用 def 語句建立函式時,可以用 return 語句指定應該返回的值,該返回值可以是任意型別。需要注意的是,return 語句在同一函式中可以出現多次,但只要有乙個得到執行,就會直接結束函式的執行。
(1)區域性變數:在函式內部定義的變數,它的作用域也僅限於函式內部,出了函式就不能使用了,我們將這樣的變數稱為區域性變數(local variable)。locals() 函式也是 python 內建函式之一,通過呼叫該函式,我們可以得到乙個包含當前作用域內所有變數的字典。這裡所謂的「當前作用域」指的是,在函式內部呼叫 locals() 函式,會獲得包含所有區域性變數的字典;而在全域性范文內呼叫 locals() 函式,其功能和 globals() 函式相同。locals() 返回的區域性變數組成的字典,可以用來訪問變數,但無法修改變數的值。
(2)全域性變數:除了在函式內部定義變數,python 還允許在所有函式的外部定義變數,這樣的變數稱為全域性變數(global variable)。globals() 函式為 python 的內建函式,它可以返回乙個包含全域性範圍內所有變數的字典,該字典中的每個鍵值對,鍵為變數名,值為該變數的值。
(3)在一些特定場景中,我們可能需要獲取某個作用域內(全域性範圍內或者區域性範圍內)所有的變數:
返回全域性變數使用globals()函式;
返回區域性變數使用locals()函式;
返回乙個指定 object 物件範圍內所有變數使用vars() 函式。注意:如果不傳入object 引數,vars() 和 locals() 的作用完全相同。
閉包,又稱閉包函式或者閉合函式,和巢狀函式類似,閉包函式的不同之處在於,閉包中外部函式返回的不是乙個具體的值,而是乙個函式。一般情況下,返回的函式會賦值給乙個變數,這個變數可以在後面被繼續執行呼叫。
def funct(exponent):
def funct2(base):
print(base**exponent)
return funct2
#計算3的平方
my_funct1=funct(2);
my_funct1(3)
#計算5的立方
my_funct2=funct(3);
my_funct2(5)
#通過閉包函式實現函式的重新利用,增加函式使用效率,節省記憶體空間
計算結果為:
lambda 表示式,又稱匿名函式,常用來表示內部僅包含 1 行表示式的函式。如果乙個函式的函式體僅有 1 行表示式,則該函式就可以用 lambda 表示式來代替。
lambda 表示式的語法格式如下:
name = lambda [list] : 表示式
其中,定義 lambda 表示式,必須使用 lambda 關鍵字;[list] 作為可選引數,等同於定義函式是指定的引數列表;name為該表示式的名稱。
#定義乙個函式
def my_funct(a,b):
return a*b
print(my_funct(12,15));
#定義乙個lamda表示式
my_funct=lambda a,b:a*b;
print(my_funct(10,10));
相比函式,lamba 表示式具有以下 2 個優勢:
1.對於單行函式,使用 lambda 表示式可以省去定義函式的過程,讓**更加簡潔;
2.對於不需要多次復用的函式,使用 lambda 表示式可以在用完之後立即釋放,提高程式執行的效能。
eval() 函式的語法格式為: eval(source, globals=none, locals=none, /)
exec() 函式的語法格式如下: exec(source, globals=none, locals=none, /)
可以看到,二者的語法格式除了函式名,其他都相同,其中各個引數的具體含義如下: expression:這個引數是乙個字串,代表要執行的語句 。該語句受後面兩個字典型別引數 globals 和 locals 的限制,只有在 globals 字典和 locals 字典作用域內的函式和變數才能被執行。 globals:這個引數管控的是乙個全域性的命名空間,即 expression 可以使用全域性命名空間中的函式。如果只是提供了 globals 引數,而沒有提供自定義的 __builtins__,則系統會將當前環境中的 __builtins__ 複製到自己提供的 globals 中,然後才會進行計算;如果連 globals 這個引數都沒有被提供,則使用 python 的全域性命名空間。 locals:這個引數管控的是乙個區域性的命名空間,和 globals 類似,當它和 globals 中有重複或衝突時,以 locals 的為準。如果 locals 沒有被提供,則預設為 globals。
python 函式的知識點總結
1.函式 函式是對功能的封裝 語法 def 函式名 形參列表 函式體 塊,return 呼叫 函式名 實參列表 2.返回值 return 在函式執行的時候.如果遇到return.直接返回 1.如果函式什麼都不寫,不寫return,沒有返回值.得到的是none 2.在函式中間或者末尾寫return,返...
python知識點總結
a 命名乙個集合a b 命名乙個集合b print a b 輸出ab兩個集合的公共部分 a 命名乙個集合a a.add 22 在集合a後加22 print sorted a 列印出新的集合a a j for j in range 1,100 將j遍歷1到100 if j 25 0 判斷1到100裡整...
Python 函式知識點
1.函式的意思 函式是指對某一功能的封裝 2.函式的語法 def 函式名 函式體函式名 3.函式的返回值 return,當讀到return,不會繼續往下讀 1.如果沒有return,預設返回none 2.如果只有return,返回none 3.return 返回值,只返回乙個值 4.return 值...