Python函式以及變數的一些知識

2021-10-12 04:52:22 字數 1920 閱讀 5343

python 函式

函式是組織好的,可重複使用的,用來實現單一,或相關聯功能的**段。

函式能提高應用的模組性,和**的重複利用率。你已經知道python提供了許多內建函式,比如print()。但你也可以自己建立函式,這被叫做使用者自定義函式。

函式呼叫

定義乙個函式只給了函式乙個名稱,指定了函式裡包含的引數,和**塊結構。

這個函式的基本結構完成以後,你可以通過另乙個函式呼叫執行,也可以直接從python提示符執行

引數傳遞

在 python 中,型別屬於物件,變數是沒有型別的

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

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

不可變型別:變數賦值 a=5 後再賦值 a=10,這裡實際是新生成乙個 int 值物件 10,再讓 a 指向它,而 5 被丟棄,不是改變a的值,相當於新生成了a。

可變型別:變數賦值 la=[1,2,3,4] 後再賦值 la[2]=5 則是將 list la 的第三個元素值更改,本身la沒有動,只是其內部的一部分值被修改了。

python 函式的引數傳遞:

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

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

python 中一切都是物件,嚴格意義我們不能說值傳遞還是引用傳遞,我們應該說傳不可變物件和傳可變物件。

引數以下是呼叫函式時可使用的正式引數型別:

必備引數

關鍵字引數

預設引數

不定長引數

必備引數

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

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

關鍵字引數

關鍵字引數和函式呼叫關係緊密,函式呼叫使用關鍵字引數來確定傳入的引數值。

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

以下例項在函式 printme() 呼叫時使用引數名

預設引數

呼叫函式時,預設引數的值如果沒有傳入,則被認為是預設值

不定長引數

你可能需要乙個函式能處理比當初宣告時更多的引數。這些引數叫做不定長引數,和上述2種引數不同,宣告時不會命名

名函式python 使用 lambda 來建立匿名函式。

lambda只是乙個表示式,函式體比def簡單很多。

lambda的主體是乙個表示式,而不是乙個**塊。僅僅能在lambda表示式中封裝有限的邏輯進去。

lambda函式擁有自己的命名空間,且不能訪問自有引數列表之外或全域性命名空間裡的引數。

雖然lambda函式看起來只能寫一行,卻不等同於c或c++的內聯函式,後者的目的是呼叫小函式時不占用棧記憶體從而增加執行效率。

return 語句

return語句[表示式]退出函式,選擇性地向呼叫方返回乙個表示式。不帶引數值的return語句返回none。之前的例子都沒有示範如何返回數值

變數作用域

乙個程式的所有的變數並不是在哪個位置都可以訪問的。訪問許可權決定於這個變數是在**賦值的。

變數的作用域決定了在哪一部分程式你可以訪問哪個特定的變數名稱。兩種最基本的變數作用域如下:

全域性變數

區域性變數

全域性變數和區域性變數

定義在函式內部的變數擁有乙個區域性作用域,定義在函式外的擁有全域性作用域。

區域性變數只能在其被宣告的函式內部訪問,而全域性變數可以在整個程式範圍內訪問。呼叫函式時,所有在函式內宣告的變數名稱都將被加入到作用域中

linux c 一些常用庫函式以及部分原型

這幾個函式在面試的時候經常被考到,但沒看過要準確又完美的寫出來也不是易事,傳說ibm曾經也考過寫strcpy原型,說明這幾個函式真的很有代表性,因此記於此處以便溫習。以下皆經本人除錯過。1 strcat函式原型如下 char strcat char strdest,const char strscr...

Python的time庫的一些簡單函式以及用法

time庫的一些函式 time.time 獲取當前時間戳,即計算機內部時間值,浮點數 import time time.time 1566131077.7118852 放回的值是以秒為單位的,具體含義則是從1970.1.1 00 00到當前時刻的以秒為單位的時間間隔 time.ctime 獲取當前時...

JMeter 十五 函式以及變數

參考 jmeter 函式引用方式如下 functionname 表示函式名稱。比如 var1,var2,var3 表示引數。每個函式的引數一般不一樣。有些甚至沒有引數,比如 不帶有引數的函式可以省略後邊的括號。引數包含 的話,需要用到 進行轉義。比如 jmeter 變數引用格式如下 1.如果某個被引...