函数中的不定长参数 —— */**

函数中的不定长参数:在函数处理比声明时更多地参数,这些参数叫做不定长参数

 

 

一、加入一个星号 * 的参数会以元祖(tuple)的形式导入,存放所有未命名的变量参数。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
def printinfo(arg1,*vartuple):
    print('我是第一个参数:',arg1)
    print('我是第二个参数:',vartuple)
 
printinfo(30,40,20,60)
 
 
#输出结果
'''
可以发现,第一个参数赋值给arg1后,其他的数据以元祖的形式传递给vartuple中
 
'''
我是第一个参数: 30
我是第二个参数: (40, 20, 60)

  

二、加入两个星号 ** 的参数会以字典的形式导入

1
2
3
4
5
6
7
8
9
10
11
def printinfo(arg1,**vartuple):
    print('我是第一个参数:',arg1)
    print('我是第二个参数:',vartuple)
 
# 因为使用**的参数是以字典的形式导入,所以不能只写20,40
printinfo(30,a=20,b=40)
 
# 输出结果
 
我是第一个参数: 30
我是第二个参数: {'a': 20, 'b': 40}

  

三、声明函数时,参数中的*可以单独出现,但是*后的参数必须使用关键字传入

1
2
3
4
5
6
7
8
9
10
11
def f(a,b,*,c):
    return a+b+c
 
# f(1,2,3)
# 上述函数调用报错,* 后的参数必须用关键字传入
print(f(1,2,c=3))
 
 
# 输出结果:
 
6

  

 

posted @   小秦同学在上学  阅读(1232)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示