Task06 函式與Lambda表示式 2天

2021-10-08 19:12:25 字數 2603 閱讀 7437

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

函式能提高應用的模組性,和**的重複利用率。

1、函式定義

你可以定義乙個由自己想要功能的函式,以下是簡單的規則:

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

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

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

def 函式名(引數列表):

函式體

2、函式呼叫

# 定義函式

defprintme

(str):

# 列印任何傳入的字串

print

(str

)return

# 呼叫函式

printme(

"我要呼叫使用者自定義函式!"

)printme(

"再次呼叫同一函式"

)

3、函式引數

python 的函式具有非常靈活多樣的引數形態,既可以實現簡單的呼叫,又可以傳入非常複雜的引數。從簡到繁的引數形態如下:

def

functionname

(arg1)

:"函式_文件字串"

function_suite

return

[expression]

arg1- 位置引數 ,這些引數在呼叫函式 (call function) 時位置要固定。

def

functionname

(arg1, arg2=v)

:"函式_文件字串"

function_suite

return

[expression]

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

預設引數一定要放在位置引數後面,不然程式會報錯。

可變引數就是傳入的引數個數是可變的,可以是 0, 1, 2 到任意個,是不定長的引數。

def

functionname

(arg1, arg2=v,

*args)

:"函式_文件字串"

function_suite

return

[expression]

*args- 可變引數,可以是從零個到任意個,自動組裝成元組

加了星號(*)的變數名會存放所有未命名的變數引數。

def

functionname

(arg1, arg2=v,

*args,

**kw)

:"函式_文件字串"

function_suite

return

[expression]

**kw- 關鍵字引數,可以是從零個到任意個,自動組裝成字典

def

functionname

(arg1, arg2=v,

*args,

*, nkw,

**kw)

:"函式_文件字串"

function_suite

return

[expression]

*, nkw- 命名關鍵字引數,使用者想要輸入的關鍵字引數,定義方式是在nkw前面加個分隔符*

如果要限制關鍵字引數的名字,就可以用「命名關鍵字引數」

使用命名關鍵字引數時,要特別注意不能缺少引數名。

在 python 中定義函式,可以用位置引數、預設引數、可變引數、命名關鍵字引數和關鍵字引數,這 5 種引數中的 4 個都可以一起使用,但是注意,引數定義的順序必須是:

位置引數、預設引數、可變引數和關鍵字引數。

位置引數、預設引數、命名關鍵字引數和關鍵字引數。

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

所謂匿名,意即不再使用 def 語句這樣標準的形式定義乙個函式。

lambda

[arg1 [

,arg2,..

...argn]

]:expression

# 可寫函式說明

sum=

lambda arg1, arg2: arg1 + arg2

# 呼叫sum函式

print

("相加後的值為 : "

,sum(10

,20))

#30print

("相加後的值為 : "

,sum(20

,20))

#40

Task06 函式與lambda表示式

def myfirstfunction name 函式定義過程中name是形參 因為ta只是乙個形式,表示佔據乙個引數位置 print 傳遞進來的叫做實參,因為ta是具體的引數值!format name myfirstfunction 老馬的程式人生 傳遞進來的老馬的程式人生叫做實參,因為ta是具體...

task 06函式與lambda表示式

def functionname parameters 函式 文件字串 function suite return expression def add a,b print a b add 1,2 3 add 1 2,3 4 5,6 1,2,3,4,5,6 def myfirstfunction n...

Task06 函式與Lambda表示式

練習題 怎麼給函式編寫 檔?函式解釋 引數1 解釋 return 返回 怎麼給函式引數和返回值註解?def str閉包中,怎麼對數字 字串 元組等不可變元素更新。nonlocal分別根據每一行的首元素和尾元素大小對二維列表 a 6,5 3,7 2,8 排序。利用lambda表示式 a 6,5 3,7...