Python自學個人知識點記錄5 函式

2021-09-27 03:38:50 字數 1913 閱讀 8623

1.建立函式使用def關鍵字就行,也可以帶上引數,如ceshi1(),ceshi2(name),ceshi3(name1,name2);

2.可以使用關鍵字return來獲得返回值;

3.形式引數parameter,實際引數argument;

5.關鍵字引數:傳入實參的時候可以帶上關鍵字引數,例如ceshi1(name,num),呼叫的時候寫ceshi1(num=3,name='wardo'),這樣是不會打亂順序的;

6.預設引數:是定義了預設值的引數,例如ceshi1(name='wardo',num=3),再輸入ceshi1()也不會報錯;

7.收集引數(可變引數):在行參前加上*,如def ceshi(*param):print('引數的chan長度是:',len(param)) print('第二個引數是:',param[1]),輸入ceshi(1,'wardo',3.24,4,5,6,7),輸出引數的長度是:7, 第二個引數是:wardo;

8.函式與過程的區別:函式(function)是有返回值的,過程(procedure)是簡單、特殊並且沒有返回值的,python嚴格來說只有函式沒有過程, def back(): return 1,'wardo',3.14,輸入back(),會輸出(1, 'wardo', 3.14);

9.函式變數作用域:區域性變數只在區域性裡生效,全域性變數則在整個程式中都有效;

10.global關鍵字:如果想要把區域性變數變成全域性全域性變數,可以在區域性變數前加上global關鍵字,如count=5 def myfun():global count count = 10 ,則輸入print(count)會輸出10;

11.內嵌(內定)函式:可以在函式之中再定義函式,內嵌函式的作用域全在那個函式裡;

12.閉包:從表現形式來定義的話,如果乙個內部函式裡對外部作用域(但不是在全域性作用域)的變數進行引用,那麼內部函式就會被認為是閉包,例如定義def fun1(x):def fun2(y) return x*y  return fun2(此處注意不加括號,是呼叫函式物件),輸入i=fun1(8),i(5)會輸出40,或直接輸fun1(8)(5)也可以輸出40;

13.全域性變數可以訪問,但不建議強制修改,例如使用nolocal關鍵字在區域性強制宣告區域性變數不是區域性變數(注意區分global關鍵字,global關鍵字是將區域性變數轉變為全域性變數,nolocal關鍵字是是強制宣告區域性變數不是區域性變數);

14.lambda表示式:如原函式def ds(x):return 2 * x + 1,則 lambda x : 2 * x + 1,其中冒號前面是原函式的引數,而冒號後面是原函式的返回值,賦值g = lambda x : 2 * x + 1,輸入g(5),會輸出11,也可輸入多個引數;

15.python寫一些執行指令碼時,使用lambda就可以省下定義函式過程,比如說我們只是需要寫個簡單的指令碼來管理伺服器時就不需要專門'定義乙個函式函式然後再呼叫,使用lambda就可以使得**更加精簡。對於一些比較抽象並且整個程式執行下來只需要呼叫一兩次的函式,有時候給函式起個名字也是比較頭疼的問題,使用lambda就不需要考慮命名的問題了,同時能簡化**的可讀性,省略如def這樣的步驟;

16.內建函式之ilter():例如filter(none,[1,0,false,true])會過濾掉0和false,輸入list(filter(none,[1,0,false,true]))會輸出[1, true],也可以自定義函式來進行過濾,如》 def odd(x): return x % 2>>> temp = range(10)>>> show = filter(odd,temp)>>> list(show)會輸出[1, 3, 5, 7, 9],結合lambda表示式可以非常簡便寫出 list(filter(lambda x : x % 2,range(10)));

17.內建函式之map():會根據提供的函式對指定序列做對映,如map(lambda x: x ** 2, [1, 2, 3, 4, 5])會輸出[1, 4, 9, 16, 25]。

Python自學個人知識點記錄7 集合

1.集合的用處就是唯一,會自動將集合裡的重複值刪除,例如 num2 num2 2.集合不可以使用位置索引來查詢值 3.建立集合有兩種辦法,第一種用花括號建立類似上1.第二種是使用set 函式,set1 set 1,2,3,4,5 set1 type set1 set 函式的引數也是唯一,可以是列表 ...

Python自學個人知識點記錄11 類和物件

1.封裝 將資料放在乙個列表或其他序列字典中是基於資料層面的封裝,將常用的 段打包成乙個函式是基於語句層面的封裝,而物件就是這兩種封裝的合一。物件是模擬真實世界 例如乙隻龜靜態資料有顏色 體重等,動態資料有爬 跑等 把資料和 都封裝到一起,即物件 屬性 方法 2.建立乙個物件也叫做類的例項化,舉例寫...

知識點記錄

1 jensen不等式 jensen不等式表述如下 如果f是凸函式,x是隨機變數,那麼 特別地,如果f是嚴格凸函式,那麼 e f x f e x 當且僅當p x e x 1,也就是說x是常量。2 unet結構,卷積的三種模式 full,same,valid 其實這三種不同模式是對卷積核移動範圍的不同...