o5,函式與lambda函式

2021-09-29 00:09:59 字數 2688 閱讀 3723

函式由以下幾個部分組成

def 函式名稱(引數):

在縮排塊裡面編寫函式體,用return返回值

函式一旦執行到return是就會結束這個函式

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

如果沒有return語句在函式執行完畢後會返回結果為none

defp(

str)

:print

(str

,end=

' ')

print

('a god boy')x=

'hi'

p(x)

>>

>hi

a god boy

預設引數,在定義引數時如果有定義好的引數,那麼在呼叫引數時這些被設定好的引數就會被當成預設值

ps:預設引數務必指向不變物件!

defp(

str=

'emmmm'):

print

(str

,end=

' ')

print

('a god boy')p(

)>>

>emmmm a god boy

如果無法確認將會輸入具體多個引數,可以使用*加在引數前面表示,在被呼叫時這些被輸入的引數會自動組裝成乙個元組

當你打算輸入乙個列表或者元組時,在呼叫輸入引數時在列表/元組的名稱前加乙個*就可以數例輸入引數

deff(

*n):

for p in n:

print

(p,end=

' ')

f(10,2

,3)>>

>102

3

如果你寫了乙個函式def1並儲存在了abstest.py檔案,在該檔案目錄下啟動直譯器

那麼你可以通過

form abstest inport ads1
來匯入函式

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

defp(

str)

:print

(str

,end=

' ')

print

('a god boy')x=

'hi'

p(x)

print

(str

)>>

>hi a god boy

<

class

'str'

>

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

def

p(str1,str2)

:print

(str1,end=

' ')

print

('a god boy, and'

,str2)

x='hi'

y='my friend'

p(str2=y,str1=x)

>>hi a god boy,

and my friend

命名引數,可以不按順序直接對引數賦值。

def

p(str1,str2)

:print

(str1,end=

' ')

print

('a god boy, and'

,str2)

p(str2=

'hi'

,str1=

'my friend'

)>>hi a god boy,

and my friend

變數在函式中是有作用範圍的,分為區域性變數和全域性變數

訪問許可權決定於這個變數在**賦值。

定義在函式內部的變數擁有區域性作用域,該變數稱為區域性變數。

定義在函式外部的變數擁有全域性作用域,該變數稱為全域性變數。

區域性變數只能在其被宣告的函式內部訪問,而全域性變數可以在整個程式範圍內訪問。

如果想在函式內部修改外部變數,可以用globalnonlocal

x=

'hi'

defp()

:global x

print

(x,end=

' ')

x='a god boy'

print

(x)p(

)>>

>hi a god boy

lambda函式,即匿名函式。即,不再使用def語句定義的函式。

而且,lambda函式實際上是乙個表示式,函式體比def簡單。

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

lambda 函式沒有所謂的函式名 (function_header),這也是它為什麼叫匿名函式。

sumary=

lambda a,b: a+b

print

(sumary(25,

55))>>

>

80

Python學習5 函式與Lambda表示式

python內建了很多函式可以直接用於呼叫 abs可以輸出絕對值 a abs 100.3 print a 100.3max可以接收數個引數並返回其中最大值 t1 1 54,64 5,64 56 print max t1 print min t1 64 1內建函式可以轉換資料型別 print int ...

lambda函式,匿名函式

簡單的來說lambda是匿名函式的表示式。匿名函式是什麼,匿名函式通常來說是你需要定義函式,但是又不想費神的去命名乙個函式的場合下使用的。舉乙個例子來說 將乙個list的裡面的每個元素都平方 map lambda x x x,y for y in range 10 過 這個方法要好過 def sw ...

python Day5 函式和lambda表示式

1.函式的定義 def 函式名 參數列 函式體return 表示式 不帶表示式的return相當於返回none 例項 帶變數 輸出如下 welcome runoob width 4 height 5 area 20 引數傳遞 變數沒有型別,只是相當於乙個指標。可更改 mutable 與不可更改 im...