博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python——函数 8、可变长参数
阅读量:5278 次
发布时间:2019-06-14

本文共 898 字,大约阅读时间需要 2 分钟。

可变长参数:可变长指的是实参的个数不固定 按位置定义的可变长的实参:* 按关键字定义的可变长的实参:** 一、按位置
def func(x,y,*args):    print(x,y)    print(args)func(1,2,3,4,5)  # *处理按位置定义的多出的实参  # 然后赋值给*后的变量来保存成一个元组的形式  # args=(3,4,5)
View Code

   1、等效

def func(x,y,*args):    print(x,y)    print(args)func(1,2,*(3,4,5)) #与func(1,2,3,4,5)一样,为什么一样在下一条原理中
View Code

   2、原理

def func(x,y,z):    print(x,y,z)func(*(1,2,3))# *==位置参数 将(1,2,3)拆开# 然后一一对应赋值
View Code

  二、按关键字

def func(x,y,**kwargs):    print(x,y)    print(kwargs)func(1,y=2,z=3,a=1,b=3)  # **处理按关键字定义的多出的实参  # 然后赋值给**后的变量来保存成一个字典的形式  # kwargs={'z':3,'a':1,'b':3}
View Code

   1、等效

def func(x,y,**kwargs):    print(x,y)    print(kwargs)func(1,y=2,**{
'a':1,'b':3,'z':3})#与func(1,y=2,a=1,b=3,z=3)一样,原理在下一条
View Code

   2、原理

def func(x,y,z):    print(x,y,z)func(**{
'y':2,'x':1,'z':3})**==关键字参数 将{
'y':2,'x':1,'z':3}拆开# 然后一一对应赋值
View Code

 

 

 

转载于:https://www.cnblogs.com/StevenSunYiwen/p/8908904.html

你可能感兴趣的文章
11)Java abstract class 和 interface
查看>>
使用xrdp或Xmanager 远程连接 CentOS6
查看>>
Linux误删恢复
查看>>
Unity调用Windows窗口句柄,选择文件和目录
查看>>
HashMap循环遍历方式
查看>>
React Native 入门 调试项目
查看>>
C# 通过 Quartz .NET 实现 schedule job 的处理
查看>>
关于java之socket输入流输出流可否放在不同的线程里进行处理
查看>>
目前为止用过的最好的Json互转工具类ConvertJson
查看>>
Day13
查看>>
tensorflow saver简介+Demo with linear-model
查看>>
Luogu_4103 [HEOI2014]大工程
查看>>
Oracle——SQL基础
查看>>
项目置顶随笔
查看>>
Redis的安装与使用
查看>>
P1970 花匠
查看>>
java语言与java技术
查看>>
NOIP2016提高A组五校联考2总结
查看>>
iOS 项目的编译速度提高
查看>>
table中checkbox选择多行
查看>>