63. Python中参数类型: 位置参数,默认值参数,命名参数,可变参数,强制命名参数

目录

位置参数

默认值参数

命名参数

可变参数

强制命名参数


位置参数

函数调用时, 实参默认按位置顺序传递, 需要个数和形参匹配; 按位置传递的参数, 称为”位置参数”;

 

默认值参数

我们可以为某些参数设置默认值, 这样这些参数在传递是就是可选的; 称为”默认值参数”; 默认值参数放到位置参数后面;

 

命名参数

我们可以按照参数的名称传递参数, 称为”命名参数”, 也称”关键字参数”;

 

可变参数

可变参数指的是”可变数量的参数”; 分为两种情况:

=> *param(一个星号), 将多个参数收集到一个’元组’对象中;

=> **param(两个星号), 将多个参数收集到一个’字典’对象中;

 

强制命名参数

在带星号的”可变参数”后面增加新的参数, 必须是”强制命名参数”;

 

#测试位置参数
def f1(a,b,c):
    print(a,b,c)
f1(2,3,4)
# f1(2,3) #参位置参数对象参数少了就会报错
print("*"*30)
#测试默认值参数
def f2(a,b,c=10,d=100):
    print(a,b,c,d) #默认值参数必须位置普通位置参数后面
f2(8,9)
f2(1,2,999)
f2(1,1,1,1) #有默认值,有值就覆盖,没有值就输出默认值
print("*"*30)
#测试命名参数
def f3(a,b,c):
    print(a,b,c)
f3(1,2,3)#位置参数
f3(c=10,b=100,a=98)#命名参数
print("*"*30)
#测试可变对象参数处理(元组,字典两种方式)
def f4(a,b,*c):
    print(a,b,c)
f4(1,2,3,4,5,6,7,8)
def f5(a,b,**c):
    print(a,b,c)
f5(1,2,name="张三",age=18,sex="男")
def f6(a,b,*c,**d):
    print(a,b,c,d)
f6(8,9,12,2,1,1,1,2,765,name='小红',sex='女')
print("*"*30)
#测试强制命名参数的使用
def test(*a,b,c):
    print(a,b,c)
# test(1,2,3) #会报错,由于a是可变参数,将1,2,3全部收集,造成b和c没有赋值
test(1,2,3,b='张三',c='小明')

输出:

D:\wwwroot\pyiteam\venv\Scripts\python.exe D:/wwwroot/pyiteam/mypy01.py
2 3 4
******************************
8 9 10 100
1 2 999 100
1 1 1 1
******************************
1 2 3
98 100 10
******************************
1 2 (3, 4, 5, 6, 7, 8)
1 2 {'name': '张三', 'age': 18, 'sex': '男'}
8 9 (12, 2, 1, 1, 1, 2, 765) {'name': '小红', 'sex': '女'}
******************************
(1, 2, 3) 张三 小明

Process finished with exit code 0


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值