3.1.python_自定義函數

0.語法

使用關鍵詞def定義函數, 要注意的點是函數的參數設置和返回值.

def func_name(para):
    """函數描述"""
    # TODO, 此處爲函數体, body
    return exp # 返回語句視需要添加

1.參數設置

1.1.位置參數

在函數的定義和調用傳參時, 以實參出現的位置判定所屬:

def ceshi(x, y):
    print(x, y)


ceshi(5, 2)  # 5 2
ceshi(2, "ceshi")  # 2 ceshi

1.2.關鍵字參數

關鍵字參數是指, 在傳參時用函數定義中參數列表的關鍵字知名實參所屬, 不要求實參順序:

def ceshi(x, y):
    print(x, y)

ceshi(x=20, y='數字')  # 20 數字
ceshi(y='20', x='數字')  # 數字 20

1.3.可變數量參數

可變數量參數是指函數可接受任意數量的參數, 以實際傳參爲準, 需要在函數定義中使用*, 即將任意可能的參數視作一个列表傳入:

def make_dumplings(*toppings):
    """打印所有已選配料"""
    print("以下是您的餃子將添加的餡料:")
    for topping in toppings:
        print("--" + topping)

make_dumplings('芹菜', '牛肉', '茴香', '蔥白')

# 以下是您的餃子將添加的餡料:
# --芹菜
# --牛肉
# --茴香
# --蔥白

結合使用位置參數和可變數量參數時, 要將可變參數(*list_)置于參數列表的最末:

def make_dumplings(number, *toppings):
    """打印所有已選配料"""
    print(f"您一共點了{number}个餃子.")
    print("以下是您的餃子將添加的餡料:")
    for topping in toppings:
        print("--" + topping)

make_dumplings(20, '芹菜', '牛肉', '茴香', '蔥白')

# 您一共點了20个餃子.
# 以下是您的餃子將添加的餡料:
# --芹菜
# --牛肉
# --茴香
# --蔥白

1.4.可變數量的關鍵字參數

若函數接受任意數量的關鍵字參數, 需要在參數列表中使用(**形參名)的形式, 此時是將任意數量的關鍵字參數視作字典傳入的, 多用在不確定信息種類和數量的場合:

def book(title, **book_info):
    """創建一个包含書籍信息的字典, 並返回"""
    book_dict = {"書名": title}
    # 使用for循環遍歷實參字典, 並添加到將返回的字典中
    for key, value in book_info.items():
        book_dict[key] = value
    # 返回根據實參創建的字典
    return book_dict

book('三國志', '作者'='陳壽', '版本'='信述堂重刊本')
print(book)
# ['書名'='三國志', '作者'='陳壽', '版本'='信述堂重刊本']

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值