1. 程式人生 > >Python_函數基礎

Python_函數基礎

mys 默認 問題 無需 函數 重復 ... 開發 整形

函數基礎

一、什麽是函數

函數是在開發語言中根據需求,實現定制好的用來實現某種功能。之後,在遇到應用場景時可以直接調用函數。

二、函數的分類

函數分為兩類:

1、內置函數:為了方便開發,針對一些簡單功能,Python解釋器已經為我們定義好了的函數就是內置函數。

對於內置函數我們可以不用實現定義就可以使用。如:len() sum() join()等

2、自定義函數: 內置函數提供的功能是有限的,所以需要我們根據自身需求來事先定義函數來實現某種功能,之後再遇到其他應用場景時可以直接調用。

三、如何自定義函數

#語法
def 函數名(參數1,參數2,參數3......)
      ‘‘‘  註釋 ‘‘‘
      函數體
     return 返回值
# 函數名最好能夠反映其意義
def test(x):
     ‘‘‘
     2*x+1
     :param x:整形數字
     :return: 返回計算結果
     ‘‘‘
     y=2*x+1
     return y

四、函數的返回值

什麽時候該有返回值?
    調用函數,經過一系列的操作,最後要拿到一個明確的結果,則必須要有返回值
    通常有參函數需要有返回值,輸入參數,經過計算,得到一個最終的結果
什麽時候不需要有返回值?
    調用函數,僅僅只是執行一系列的操作,最後不需要得到什麽結果,則無需有返回值
    通常無參函數不需要有返回值
無return->None
return 1個值->返回1個值
return 逗號分隔多個值->元組

五、函數的參數

參數分為形參和實參:

形參:形參其實就是變量名 ,函數調用時將值幫到變量名上,函數調用結束,解除綁定。

實參:實參就是變量值

具體應用:

位置參數

位置參數:按照從左到右的順序定義的參數
        位置形參:必選參數
        位置實參:按照位置給形參傳值
補充: 位置參數必須一一對應,缺一不可。
def calc(x,y): res = x**y return(res) res = calc(2,3) #位置參數

關鍵字參數

關鍵字參數:按照key=value的形式定義的實參
        無需按照位置為形參傳值
        註意的問題:
                1. 關鍵字實參必須在位置實參右面
                2. 對同一個形參不能重復傳值
def test(x,y,z):#x=1,y=2,z=3
     print(x)
     print(y)
     print(z)

#關鍵字參數,無須一一對應,缺一不行多一也不行
 test(1,y=2,z=3) #關鍵字實參必須在位置實參右面

默認參數

默認參數:形參在定義時就已經為其賦值
        可以傳值也可以不傳值,經常需要變得參數定義成位置形參,變化較小的參數定義成默認參數(形參)
        註意的問題:
                1. 只在定義時賦值一次
                2. 默認參數的定義應該在位置形參右面
                3. 默認參數通常應該定義成不可變類型
def handle(x,type=mysql):
     print(x)
     print(type)
 handle(hello) # 賦值給x
 handle(hello,type=sqlite) # ‘hello’賦值給x,type值覆蓋成‘sqlite’

可變長參數:*列表 **字典

可變長參數:
        可變長指的是實參值的個數不固定
        而實參有按位置和按關鍵字兩種形式定義,針對這兩種形式的可變長,形參對應有兩種解決方案來完整地存放它們,分別是*args,**kwargs
        def foo(x,y,*args): #列表形式存放
            print(x,y)
            print(args)
        foo(1,2,3,4,5)

        def foo(x,y,**kwargs):  #字典形式存放
            print(x,y)
            print(kwargs)
        foo(1,y=2,a=1,b=2,c=3)

Python_函數基礎