02_参数类型与时序解包

本文围绕Python函数参数展开,介绍了必填参数、缺省参数、可变参数与时序解包、关键字参数与时序解包。Python支持默认参数,有较大灵活性;可变参数传入的参数自动组成元组,关键字参数在函数内部自动组装为字典。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述


博文配套视频课程:24小时实现从零到AI人工智能


必填参数

# 必填参数: 参数数量不能少,否则会抛出异常
def showinfo(name,age):
    print(name,age)
    
showinfo('admin',18)

缺省参数

Python支持默认参数, 可以为形参设置默认值,这样让python函数有较大的灵活性,在一定程度常类似函数重载的功能 (请注意位置参数在前,默认参数在后。否则会出现语法错误)

# 缺省参数: 参数默认有缺省值, 提高函数调用的灵活性
def showinfo(name,age=18,city='深圳'):
    print(name,age, city)
    
showinfo('admin',28,'广州')
showinfo('admin',28)

可变参数与时序解包

有时候函数的参数不确定, 如果实现多个数相加。这个时候我们需要声明就是可变参数。可变参数传入的所有参数自动组成一个tuple(元祖类型)

# 可变参数:参数数量本身可以发生变化, *代表可变参数
def add(*num):
    print('num type:', type(num), num)
    # 可变参数最后封装成元组类型
    sum = 0
    for i in num:
        sum += i  # sum = sum + i
    return sum
    
# print(add(1,2,3))
# print(add(1,2,3,4,5))

# 时序解包: 函数定义时 * 代表可变参数
l = [1,2,3,4]
# 在函数调用时 * 可以对参数进行时序解包
print(add(*l))

关键字参数与时序解包

可变参数运允许你传入0个或者任意多个参数, 这些可变参数在函数调用时自动组装为一个tuple,而关键字参数允许你传入0个或者任意包含参数名的参数,这些关键字参数在函数内部自动组装一个dict

# 时序解包: 函数定义时 ** 代表关键字参数
def showinfo(name,age=18,city='深圳',**other):
    print(name,age, city)
    print(other,type(other))

# showinfo('小强',age=20,tel=18312345678,blood='A型')

d = {'tel': 18312345678, 'blood': 'A型'}
# 在函数调用时 ** 可以对关键字参数进行时序解包
showinfo('小强',age=20,**d)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值