Python基础–参数定义
argument
实参 位置参数,关键字实参parameter
形参 默认形参 可变形参,不可变形参
位置实参
普通的实参 按照参数的顺序把数据传递给形参
def sum_fun(num1,num2):
plus = num1*num2
print("两个数字的乘积=%s" % plus)
# 位置实参是把下面调用的数据直接传递到函数里面
sum_fun(2, 3)
关键字参数 可以指定对应的形参
关键字实参必须在位置参数后面,否则会出现报错
def test_fun(num1,num2):
print(num1)
print(num2)
# 指定对应的关键字参数 num1=3 num2= 4
test_fun(num1=3,num2=4)
默认形参
给形参设置的默认值,如果设置实参,就会使用实参.如果不设置实参,就会使用默认形参
- 默认形参必须在普通形参后面
正确使用默认形参
def test_fun(num1,num2=10):
print(num1)
print(num2)
test_fun(2)
不正确使用
def test_fun(num1=1,num2):
print(num1)
print(num2)
test_fun(2)
可变形参
- 元组型可变形参 可以接受任意数量的位置参数,一般在形参列表末尾
- 字典型可变形参
元组型可变形参
给形参前面添加
*
,标志其为元组可变形参
传进来的任意位置参数会被包装成为元组,随后赋值给args
def args_fun(*args):
sum_plus = 0
for i in args:
sum_plus += i
print(sum_plus)
# 传递多个参数到定义的函数内部
args_fun(1, 2, 23, 4)
字典型可变形参
给形参前面添加
**
,标志其为字典型可变形参,传进来的任意位置参数会被包装成为字典,随后赋值给args
def stu_info_fun(**kwargs):
name = kwargs.get("name", "暂无")
age = kwargs.get("age", "暂无")
weight = kwargs.get("weight", "暂无")
print("姓名:%s,年龄:%s,体重:%s" % (name,age,weight))
stu_info_fun(name='王', age=19, weight=140)