C++通過Eigen庫實現最小二乘法的三種方法
阿新 • • 發佈:2020-10-21
python函式
函式初識
函式就是一段可以重複多次呼叫的程式碼,通過輸入的引數值,返回需要的結果。
函式的定義
函式使用關鍵字def定義。函式在使用之前必須定義,函式的型別即返回值的型別。
python函式定義的格式如下所示:
# 函式的定義
def 函式名(引數1, 引數2....):
...
return 表示式
函式名可以是字母、數字或下劃線組成的字串,但不能以數字開頭。函式的引數放在一對圓括號中,引數的個數可以有一個或多個,引數之間用逗號加空格隔開,這種引數成為形式引數。括號後面以冒號結束,冒號下面就是函式的主體。
函式的呼叫
函式的呼叫採用函式名加一對圓括號的方式,圓括號內的引數是傳遞給函式的具體值。
例,使用列表實現len方法:
# 函式的呼叫
def my_len():
lis = [1, 2, 34, 55, 66]
c = 0
for i in lis:
c += 1
return c
print(my_len()) # 函式的呼叫:函式名()
# 輸出結果為:5
函式的引數
在C、C++中,引數的傳遞有值傳遞和引用傳遞兩種方式,而python中一切皆是物件,所以只支援引用傳遞方式。python通過名稱繫結的機制,把實際引數的值和形式引數的名稱繫結在一起,即把形式引數傳遞到函式所在的區域性名稱空間中,形式引數和實際引數只想記憶體中同一個儲存空間。
# 函式的引數
lis = [1, 2, 34, 55, 66]
def my_len(s): # def 函式名(形式引數)
c = 0
for i in s:
c += 1
return c
ret = my_len(lis) # 函式的呼叫:函式名(實際引數)
print(ret)
函式的傳參
從實際引數角度和形式引數角度去認識。
實際引數角度
位置傳參、關鍵字傳參、混合傳參。
位置傳參
按位置順序,一一對應。
# 位置傳參 def mymax(x, y): the_max = x if x > y else y return the_max ma = mymax(10, 20) print(ma)
關鍵字傳參
按關鍵字,一一對應。
# 關鍵字傳參
def mymax(x, y):
print(x, y)
the_max = x if x > y else y
return the_max
ma = mymax(y=10, x=20)
print(ma)
混合傳參
指位置引數和關鍵字引數混合傳參,位置引數必須在前面,對一個形參只能賦值一次。
# 混合傳參
def mymax(x, y):
print(x, y)
the_max = x if x > y else y
return the_max
ma = mymax(10, y=20)
print(ma)
形式引數角度
位置引數、預設引數、動態引數。
位置引數
按位置順序,一一對應。
預設引數
如果不傳參,則預設使用預設引數,傳參則覆蓋(常用的會設定預設引數)。
動態引數
即可變引數,可以接受所有的位置引數與關鍵字引數,*args,**kwargs。