Python初學者日誌 函數

函數的定義

def  <函數名>(參數

       <函數體>

      return <返回值>

-函數定義時,參數是一種佔位符

-函數定義後,若不被調用,則不會被執行

-函數定義後,參數是輸入,函數體是處理,結果是輸出。

也就是說,函數是IPO的一種形式

(函數可以有參數,也可以沒有,但必須保留函數名後的括號

可選參數傳遞

-函數定義時可以爲某些參數指定默認值,構成可選參數

def  <函數名>(非可選參數,可選參數

       <函數體>

      return <返回值>

m爲可選參數,若沒有m的設置,m默認爲1

 

-改變參數數量的函數

def  <函數名>(固定參數, *b

       <函數體>

      return <返回值>

*b爲可變參數,指數量可變

 

參數返回值

-return保留字來傳遞返回值

-函數的返回值可有可無,return返回字也可有可無

-return可以傳遞0個返回值,也可以傳遞多個返回值

返回多個返回值時,返回的類型爲元組類型,元組類型即爲將列表類型的方括號換成小括號;

也可以如下這樣:

 

局部變量和全局變量

-局部變量是函數內部的佔位符,與全部變量可能重名,但不同

-函數運算結束後,局部變量被釋放

-可以使用global保留字,在函數內部使用全局變量

global保留字的用法:

 

-局部變量爲組合數據類型,且爲被創建,等同於全局變量

#通過使用[],真實創建了一個全局變量列表ls
ls = ["F"]
def func(a) :
#此處ls是列表類型,未真實創建,則等同於全局變量
    ls.append(a)
    return
#全局變量ls被修改
func("f")
print(ls)

運行結果爲: ['F', 'f']  Process finished with exit code 0

 

ls = ["F"]
def func(a) :
#此處ls是列表類型,是一個真實創建,則ls爲局部變量
    ls = [] 
    ls.append(a)
    return
#局部變量ls被修改,全局變量ls未被修改
func("f")
print(ls)

運行結果爲:['F']  Process finished with exit code 0

 

lambda函數

lambda函數返回函數名作爲結果

-lambda函數是一種匿名函數,即沒有名字的函數

-使用lambda保留字定義

<函數名> = lambda <參數> : <表達式>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章