函數的定義

:dagger:python

函數

1、函數的基本使用

1. 函數的定義

什麼是函數:函數

  • 函數是將具備獨立功能的代碼塊組織成爲一個總體,使其具備特殊功能的代碼集

函數的做用,爲何要用函數:code

  • 使用函數能夠增強代碼的複用性,提升程序編寫的效率
  • 防止代碼冗餘,提升代碼可讀性

函數的使用:作用域

  • 函數必須先建立纔可使用,該過程稱爲函數定義,函數建立後可使用,使用過程稱爲函數調用

函數只有調用纔會被執行,例以下面的程序it

def hello():                    ##定義hello函數
    print('hello1')                 ##函數內容
    print('hello2')
    print('hello3')

hello()                         ##調用函數
hello1` `hello2` `hello3

有參函數,無參函數,空函數class

#有參函數:
def func(test):
    print(123)

#無參函數:
def func():
    print(123)

#空函數:
def func():
    pass

二、返回值

  1. 不寫return:默認返回None
  2. 只寫return:只有結束函數體代碼的效果,返回None
  3. return返回一個值:能夠將返回的結果,看成一個變量值來使用
  4. return返回多個值:
    1. 將返回的多個值,默認存入元組返回
    2. 函數的返回值不想被修改
    3. 能夠本身指定返回的數據類型

返回值:函數運行的結果,還須要進一步操做時,給一個返回值 return用來返回函數執行結果,若是沒有返回值,默認爲Nonetest

python能夠間接返回多個值(返回了一個元組),一旦遇到return,函數執行結束,後面的代碼不會執行效率

形參實參

定義函數的時候的變量,叫形參(能夠任意起名)

函數調用階段傳入的參數是實參變量

def welcome(a):                        ##這裏的a是形參
    print('hello',a)
welcome('luck')                        ##這裏的luck是實參

3.函數的四大形參(傳參方式)

參數能夠分爲實參和行參,而行參又能夠分爲四類,位置參數、默認參數、可變參數和關鍵字參數。數據類型

1.位置參數

行參和實參的個數必須保持一致,最好按位置傳參

def info(name,age):
    print(name,age)

Info('leiting',20)                        ##按照位置的寫法
Info(age=20,name='letin')               ##若是不按照位置的話,就是要這樣

2.默認參數

設置默認參數時注意事項:必選參數在前,默認參數在後

在定義函數階段就已經傳入參數

若是說你在實參的時候傳入了一個新的參數,就會使用新參數默認參數在傳值的時候

不要將可變類型當作參數傳遞

應用場景:

  • 通常來講,將參數值變化小的設置爲默認參數。
  • 參數對應值重複出現的狀況下使用默認參數
def pow(x,y=2):
    print(x ** y)

pow(4,3)                                ##此時就將y的值改爲了3

3.可變參數(接收全部溢出的位置參數)

匹配完定義好的參數,**剩餘的參數以元組的形式存儲在 *args**(*args 名稱你能夠自行定義)

def hello(*args):
    pass

*wargs (可變參數) 和 **kwargs (關鍵字參數)

def hello(**kwargs):
    pass

4.關鍵字參數( Keyword Arguments)(接收全部溢出的關鍵字參數)

聲明只能在默認參數以前,最好老老實實呆在對應的位置

def pow(x,y=2):
    return x ** y,x +y

*的用法

放到實參中就是打散

在函數的定義時,位置參數,*****關鍵字參數-–-–>聚合。
在函數的調用(執行)時,位置參數,*****關鍵字參數-–-–>打散

4.變量的做用域

通常在函數體外定義的變量成爲全局變量,在函數內部定義的變量稱爲局部變量

全局變量全部做用域均可用,局部變量只能在本函數可用,變量的使用順序是,局部變量 > 全局變量, 也就是說:優先使用局部變量

那麼問題來了, 若是想在函數內使用全局變量,或改變全局變量的值, 應該怎麼作呢?

global: Python中定義函數時,若想在函數內部對函數外的變量進行操做,就須要在函數內部聲明其爲global(聲明以後爲全局變量)。

相關文章
相關標籤/搜索