python函式 Lambda表示式

2021-09-29 00:07:53 字數 3267 閱讀 5250

函式

定義乙個函式

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

函式的第一行語句可以選擇性地使用文件字串—用於存放函式說明。

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

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

2.語法

python定義函式使用def關鍵字,一般格式如下

"""

del 函式名(引數列表):

函式體"""

#取餘

defa

(b,c)

:return b%cb=8

c=3print

(a(b,c)

)#2

3.函式呼叫

定義乙個函式:給了函式乙個名稱,指定了函式裡包含的引數,和**塊結構。這個函式的基本結構完成以後,你可以通過另乙個函式呼叫執行,也可以直接從 python 命令提示符執行。

def

a(b,c)

: x=b%c

print

(x)returna(8

,3)#2

4.引數傳遞

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

a=[1

,2,3

]a="number"

上**中,[1,2,3] 是 list 型別,「number」 是 string 型別,而變數 a 是沒有型別,她僅僅是乙個物件的引用(乙個指標),可以是指向 list 型別物件,也可以是指向 string 型別物件。

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

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

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

python 函式的引數傳遞

def

changeint

(a):

a=10b=

2changeint(b)

print

(b)#2

def

changeme

(a):[1

,2,3

,4])

print

("函式內建值:"

,a)returna=[

10,20]

changeme(a)

print

("函式外接值:"

,a)"""

函式內建值: [10, 20, [1, 2, 3, 4]]

函式外接值: [10, 20, [1, 2, 3, 4]]

"""

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

引數必需引數

def

printme

(str):

print

(str

)return

a="你好!我是長江"

printme(a)

defprintme

(str):

print

(str

)return

printme(

)"""

你好!我是長江

"""

關鍵字引數

def

printme

(str

,str2)

:print

(str

)print

(str2)

return

printme(str2=

"你好!我是黃河"

,str

="你好!我是長江"

)"""

你好!我是長江

你好!我是黃河

"""

預設引數

def

printinfo

(name,year=

2019):

print

("地點:"

,name)

print

(,year)

return

printinfo(name=

"beijing"

)print

("-----------------"

)printinfo(year=

1949

,name=

"beijing"

)"""

地點: beijing

-----------------

地點: beijing

"""

不定長引數

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

匿名函式

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

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

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

lambda匿名函式的格式:冒號前是引數,可以有多個,用逗號隔開,冒號後邊為表示式。(如 lambda x,y:x*y)

a=

lambda x,y,z:x*y%z

print

(a(2,5

,3))

#1

return函式

return [表示式] 語句用於退出函式,選擇性地向呼叫方返回乙個表示式。不帶引數值的return語句返回none。

def

sum(a,b)

: w=a+b

print

("函式內:"

,w)return w

s=sum(5

,3)print

("函式外:"

,s)"""

函式內: 8

函式外: 8

"""

Python基礎05 函式與lambda表示式

函式是組織好的,可重複使用的,用來實現單一,或相關聯功能的 段。1 定義乙個函式 定義函式的規則 語法 def functionname parameters 函式 文件字串 function suite return expression 例項 呼叫 def sum x,y z x y retur...

Python基礎 05 函式與Lambda表示式

匿名函式lambda表示式 定義函式 呼叫函式 有必須引數 關鍵字引數 不定長引數 引數型別 必須引數 呼叫時引數數量型別必須和宣告時一樣 defprintme str 列印任何傳入的字串 print str printme str 如果此處不加引數的話會報錯 關鍵字引數 呼叫時引數順序可以與宣告時...

Python匿名函式(lambda函式)

python使用lambda關鍵字創造匿名函式。所謂匿名,意即不再使用def語句這樣標準的形式定義乙個函式。這種語句的目的是由於效能的原因,在呼叫時繞過函式的棧分配。其語法是 lambda arg1 arg2,argn expression其中,引數是可選的,如果使用引數的話,引數通常也會在表示式之...