函数中的动态参数

摘要:
所谓的动态参数就是在写函数时,你可以传递1个参数,2个参数,3个参数甚至更多,同时也可以忽略它。如果参数是一个列表,将会把整个列表当做一个参数传递例如:deffunc:printfuncfunc结果:如上列表的结果,我的本意是想把列表中的数字分别输出,但是这里却是以一个参数的形式输出。

所谓的动态参数就是在写函数时,你可以传递1个参数,2个参数,3个参数甚至更多,同时也可以忽略它。

动态参数:一般有两种表示方法: *args 和**kwargs ,它的区别不是在于 args 和kwargs 这里可以替换成任意字母,这里最主要的区别是* 和**

动态参数跟默认参数一样,要写在位置参数的后面

def func(name,age,sex,class="1001",*args,**kwargs):
pass

*args 和**kwargs 的区别:

  • *args:1个* 表示接收的任意参数,调用的时候,会将实际参数一以元组的形式传给形式参数。如果参数是一个列表,将会把整个列表当做一个参数传递

例如:

def func(*args):
    print(args)

func("a","b","c")
func(["1","2","3"])
结果:
('a', 'b', 'c') (['1', '2', '3'],)
  • 如上列表的结果,我的本意是想把列表中的数字分别输出,但是这里却是以一个参数的形式输出。如果需要把列表中的数字分别输出就要在前面加个*,这里可以理解为给列表脱外套
def func(*args):
    for arg inargs:
        print(arg)

list_1 = ["a","b","c"]
func(*list_1)
  • **kwargs:2个**表示接收的是任意键值对的关键字参数,这里调用的时候是以字典的形式传递给形式参数

例如:

def stu_info(**kwargs):
    print(kwargs)

stu_info(name="lily",age=18,sex="famle")
结果:
{'name': 'lily', 'age': 18, 'sex': 'famle'}

免责声明:文章转载自《函数中的动态参数》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇1,node及npm安装Java后台读取excel表格返回至Web前端下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

inspect的使用安卓动态分析工具

一.安装步骤   1.安装xposed   2.安装inspect 二.inspect 一个基于Xposed 开发的应用动态分析工具 github已开源 内置web页面 体验度很不错 ‘ 核心功能 监控Shared Preferences 数据 绕过SSL 可以抓到https 以及使用HOOK 过滤出很多有价值的数据 信息收集 请求权限; 应...

echarts tree 树图总结,点击父节点动态生成子节点,树图数据过多高度自适应,点击子节点跳转页面。

简单的对工作共遇到的echarts tree树图做个总结(动态获取父节点数据,点击父节点,获取子节点数据,根据数据的多少来确定整个树图的高度,点击父节点获取子节点时数据过多高度自适应,点击子节点跳转页面)    经历几个月的时间终于算是改善完美,下面就来我所写的echarts树图代码    1、这个是通过接口获取到数据,写一个echarts树图数据data...

数字后端低功耗

本文转自:自己的微信公众号《集成电路设计及EDA教程》 ​ 推文主要内容: LPP: Low Power Placement GLPO: Gate-level power opt 低功耗技术: Buffer Insertion Cell Sizing Pin Swapping Phase Assignment Technology Mapping...

VC下动态库dll,静态库lib的编写和使用方法

在一些项目中,考虑到系统的安全性和稳定性,经常要封装一些DLL或者LIB库供别人使用,那么怎么制作DLL或者LIB文件呢?今天特酷吧根据自己的实际情况给大家讲解下基本的制作方法。以下是我亲自操作的记录:1,动态库dll的编写方法:新建一个动态链接库:填好工程名称即可选择工程类型,如果没有特别的要求,选择一个空工程即可。会看到这里和标准的控制台工程一样,没有任...

mapping 详解1(mapping type)

映射(mapping) 映射是定义一个文档以及其所包含的字段如何被存储和索引的方法。 例如,用映射来定义以下内容: 哪些 string 类型的 field 应当被当成当成 full-text 字段 哪些字段应该是数值类型、日期类型或者是地理位置信息 日期类型字段的格式是怎么样的 是否文档的所有字段都需要被索引到 _all 字段 动态增加的 field 可...

mysql 动态拼接表字段,值 mybatis 动态获取表字段

-- 取表所有字段,自动用逗号分开 select GROUP_CONCAT(DISTINCT COLUMN_NAME) from information_schema.columns where table_name='tb1'结果集:  字段1,字段2,字段3,字段4..... -- 动态拼接字段,给mybatis用 某些业务情况下没有去使用自动生成代...