python,函式各種基礎知識

雲淡風輕-測試仔發表於2020-09-24

一,定義函式的語法

1,定義
def 函式名():
    要封裝的程式碼
    .......

def 是英文define的縮寫

函式的命名規則:

由字母,數字,下劃線組成

不能以數字開頭

不能與關鍵字重名

最好要做到見名之意

 

二,函式的引數

引數分為形參和實參

形參-- 定義函式時,括號中的引數,用來接受外部引數使用的,在函式內部作為變數使用

eg:

def get_money(cardnum, passwd):  # 其中cardnum,和passwd都為形參, pass為佔位符
    pass

三;細分形參又可以分為位置傳參,不定長傳參,預設傳參

1,位置傳參:

自己定義的,必須放在首位(在不定長傳參,預設傳參的前面,為必傳引數)

eg:

def get_money(cardnum, passwd, money):
    if len(cardnum) < 10:
        print("卡號錯誤")
    if len(passwd) != 6:
        print("密碼錯誤")
    if int(money) % 100 != 0:
        print("金額不為100的整數倍")
    return print("取款成功")


# 呼叫,因為卡號,密碼,和金額都是位置傳參,所以為必傳,而且位置得一一對一應
get_money("1234567890", "123456", "100") 

 

2,不定長傳參-- *args , **kwargs

*args-- 呼叫時可傳多個引數,是以元組的形式儲存的

**kwargs-- 呼叫時傳多個引數,是以鍵值對的形式傳參

eg:

def get_money(cardnum, *args, **kwargs):
    if len(cardnum) < 10:
        print("卡號錯誤")
    print(args)
    print(kwargs)


get_money("11111111111", True, "666", "888", name="菜鳥", age="18")

輸出結果如下

3,預設傳參,在定義函式的時候,可以預設給一個值,即形參=實參,如果在呼叫函式的時候,沒有傳對應的引數,就使用在定義的時候給的值

eg:

def get_money(cardnum, pwd="88888888", money="200"):
    
    '''
    :param cardnum:
    :param pwd: 給了一個預設引數為88888888
    :param money: 給了一個預設取款金額200
    :return:
    '''
    if len(cardnum) < 10:
        print("卡號錯誤")
    return print("取款成功,金額:{}".format(money))


get_money("11111111111aa")

輸出結果如下圖;

可見,呼叫時沒有傳取款金額的引數,預設用了定義函式時給的預設值

 

總結:三種引數可以並存,並存的時候的編寫順序為:位置引數,不定長引數,預設引數!!! 位置不對ide會報錯提示

 

實參-- 呼叫函式時,括號中的引數,用來把外部的資料傳遞到函式內部

eg:

def get_money(cardnum, pwd="88888888", money="200"):

    if len(cardnum) < 10:
        print("卡號錯誤")
    return print("取款成功,金額:{}".format(money))


get_money("11111111111aa")  # 呼叫函式時,在括號中傳進去的就是實參

 

三:函式的返回return

注意事項:

1,假如在定義函式時,沒有寫return,則預設呼叫後的返回值為None

2,格式--      return 值 ,其中,值可以為任意型別的資料,看實際情況選擇

3,return 後也可不跟值,表示返回為None

4, 在呼叫函式時,遇到return,則結束函式呼叫,跟break的效果是一樣的

 

 

後續踩坑補充

相關文章