python函数之函数参数

本文详细介绍了Python函数中的参数类型,包括默认参数、可变参数和关键字参数。默认参数允许在定义时设定默认值,减少重复输入;可变参数允许传入任意数量的参数,通过变量名指定;关键字参数则将参数解析为字典,方便以键值对形式传递。同时提到了命名关键字参数的使用。

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

函数的参数

一般情况下,我们在定义函数或是调用函数时,都会遇到(),这个()里的就是参数,不同的是,定义函数时,()里是形参,调用函数时,()里是实参。
一般函数的参数可以分为以下几类:

1.默认参数

在一些时候,我们调用某些函数是,某种参数的值一直不变,但每次调用都要重新填写,非常浪费精力,故,我们可以使用默认参数,在参数定义时给予一个默认值就行。

def get_circle_area(r, PI=3.14):
	return PI * r * r
r = float(input("请输入圆的半径:"))
area = get_circle_area(r)
print("半径为{}的圆,它的面积是{}".format(r, area))

其中PI=3.14,就是默认参数
在这里插入图片描述

2.可变参数

定义可变参数和定义一个list或tuple参数相比,仅仅在参数前面加了一个*号。在函数内部,参数numbers接收到的是一个tuple,因此,函数代码完全不变。但是,调用该函数时,可以传入任意个参数,包括0个参数:
案例如下:

>>> def he(*num):
...     sum = 0
...     for n in num:
...         sum = sum + n * n
...     return sum
...
>>> he(1,2,3)
14
>>> he(1,2,3,76)
5790

如果有时,把可变参数放在了,固定参数前,调用时需通过变量名来指定
数据了

>>> def printa(*a,b):
...     print(b)
...     print(a)
...
>>> printa("liu","xin","xiao")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: printa() missing 1 required keyword-only argument: 'b'
>>> printa("liu","xin",b="xiao")
xiao
('liu', 'xin')

3.关键字参数

将传递给函数的参数解析成字典的样式,即key:value的形式
定义关键字参数,用两个*来声明
案例如下:

>>> def printb(**a):
...     print(a)
...
>>> printb(name="liu",age=18)
{'name': 'liu', 'age': 18}

关键字参数还可以指定只能传递什么样为名的参数,即命名关键字参数,一般以*分隔,*后面的就是命名关键字函数

>>> def printb(name,*,age):
...     print(name,age)
...
>>> printb("liuxin",18)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: printb() takes 1 positional argument but 2 were given
>>> printb("liuxin",age=18)
liuxin 18
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值