python不定长参数详解

不定长参数

    • 1.不定长参数两种基本形式:
    • 2.实例
      • 2.1实例一
      • 2.2实例二
      • 2.3实例三
      • 2.4实例四
      • 2.5实例五

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注!
欢迎关注微信公众号:宝藏女孩的成长日记
如有转载,请注明出处(如不注明,盗者必究)

如果想要一个函数能不固定接收任意多个参数,可以使用不定长参数。

1.不定长参数两种基本形式:

python自定义函数中有两种不定长参数,第一种是*XXX,在传入额外的参数时可以不用指明参数名,直接传入参数值即可。第二种是**XXX,这种类型返回的是字典,传入时需要指定参数名。

加了一个星号 * 不定长参数会以元组(tuple)的形式导入,存放所有未命名的变量参数。加了两个星号 ** 的参数会以字典的形式导入,存放已命名的变量参数。

例如
代码

#coding=utf-8#第一个是元组形式,第二个是字典形式
def sun(*a, **b):print(a)print(b)sun(1, 55258, x=25412, y=5123512)

运行结果
在这里插入图片描述

2.实例

2.1实例一

不定长参数简单示例,第一个是普通参数,第二个是不定长参数,我们可依次打印输出,不定长参数为元组的形式,如b代表的是(55258,25412,5123512),而a作为普通参数,只能代表第一个1。
代码

#coding=utf-8#不定长参数简单示例,第一个是普通参数,第二个是不定长参数
def sun(a, *b):print(a)print(b)sun(1,55258,25412,5123512)

运行结果
在这里插入图片描述

2.2实例二

在a, *b, **c同时出现的时候,如下:

代码

#coding=utf-8#使用不定长参数传固定值,注意,b、c可省略,a不可省略
def fuzhi(a, *b, **c):print(a)print(b)print(c)
fuzhi(853521, 65134, 635263, 45563, 365, x=99, y=999)

运行结果

在这里插入图片描述这个实例中,不定长参数b、c可省略,而普通参数a不可省略,假如我们省略a
代码

#coding=utf-8#使用不定长参数传固定值,注意,b、c可省略,a不可省略
def fuzhi(a, *b, **c):print(a)print(b)print(c)
fuzhi()

运行结果
在这里插入图片描述
则会出现以上报错情况

2.3实例三

当我们用不定长参数来累加时:
代码

#coding=utf-8#用不定长参数实行累加
print(1, 2, 3, 4, 5)def sum(*nums):"""求多个数之和:param list_one: 接收数字的不定长参数,会把参数组装成一个(tuple)元祖,赋值给不定长参数:return: 返回所有数字之和"""result = 0for num in nums:if isinstance( num, (int,float)):result = result + numreturn resultsum()print(sum(1, 2, 3))

运行结果
在这里插入图片描述

2.4实例四

当我们将普通参数写在不定长参数写在后面时
代码

#coding=utf-8def JayChou(a, *b, c):print(a)print(b)print(c)
JayChou(1, 555, 5768, 55451)

运行结果
会出现如下报错,因此,位置不能随意更改
在这里插入图片描述

2.5实例五

如果在函数调用时没有指定参数,它就是一个空元组。我们也可以不向函数传递未命名的变量

#coding=utf-8#如果在函数调用时没有指定参数,它就是一个空元组。我们也可以不向函数传递未命名的变量。
def void_tuple(a, *tuplela):print(a)for b in tuplela:print(b)returnprint(1)
print(2, 3, 4, 5)

运行结果
在这里插入图片描述
希望以上能够帮助你理解,有问题的话请留言,一起进步嘿嘿!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/568924.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TypeError: missing 1 required keyword-only argument-python中的报错问题

如下图所示,报错为TypeError: JayChou() missing 1 required keyword-only argument: ‘c’ 翻译过来是:TypeError:JayChou()缺少1个仅限关键字的参数:“c” 报错代码: #codingutf-8def JayChou(a, *b, …

brython的问题

brython 挺不错,但有bug。 再brython中使用mpmath做精确计算。 发现: int((10365497382627524465995480721708502202835782160567615922664140839297673785867108053215069740783364534873417778099632142363871844991858866483475618976713337522230394…

xshell下载及连接Linux

xshell的下载及连接Linux一、下载二、连接Linux一、下载 网址:https://www.netsarang.com/zh/xshell/ 1进入主页后下滑点击下载 2.不要去安装盗版,会出现一些问题。选择家庭版即可,点击免费授权页面 3.填上你的姓名和邮件,再勾…

PageHelper只对紧跟着的第一条SQL起作用

这个sql的中心思想就是根据查询到的schema然后分别查询schema中的相关数据再用union all将结果及拼接在一起。LocServiceImpl.findAllLoc(Loc loc) Overridepublic List<Loc> findAllLoc(Loc loc) {try {HashMap<String,Object> map new HashMap<String,Object…

xshell更改背景颜色,解决乱码问题及更改字体及字体大小

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 如有转载&#xff0c;请注明出处&#xff08;如不注明&#xff0c;盗者必究&#xff09; 这三个键分别是更改背景颜色&#xff0c;解决乱码问题&…

PL/SQL Developer的错误提示弹框的文本显示乱码问题

问题&#xff1a;Windows中文环境下&#xff0c;PL/SQL Developer的错误提示弹框文本为乱码&#xff0c;如下&#xff1a; 解决过程&#xff1a;1.使用SELECT * FROM v$nls_parameters;查询得知服务器的字符集编码为&#xff1a;  NLS_LANGUAGESIMPLIFIED CHINESE  NLS_CHA…

xftp连接linux及xftp下载安装

xftp一、下载二、安装三、Xftp连接linux一、下载 网址&#xff1a;https://www.netsarang.com/zh/xftp/ 1.打开这个网址后&#xff0c;点击下图的下载 2.不要去下载盗版&#xff0c;我们可以下载官网的免费版&#xff0c;点击家庭版的免费授权页面 3.接下来再填写你的姓名和…

洛谷 P2722 总分题解

题目描述 我们可以从几个种类中选取竞赛的题目,这里的一个"种类"是指一个竞赛题目的集合,解决集合中的题目需要相同多的时间并且能得到相同的分数。你的任务是写一个程序来告诉USACO的职员,应该从每一个种类中选取多少题目,使得解决题目的总耗时在竞赛规定的时间里并…

xshell与xftp如何实现相互连接

xshell与xftp互联工具操作步骤1.xftp连接xshell2.xshell连接xftphttps://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 让这个可爱的宝藏女孩在努力的道路上与你一起同行&#xff01; 如有转载&#xff0…

洛谷 P2725 邮票题解

题目背景 给一组 N 枚邮票的面值集合&#xff08;如&#xff0c;{1 分&#xff0c;3 分}&#xff09;和一个上限 K —— 表示信封上能够贴 K 张邮票。计算从 1 到 M 的最大连续可贴出的邮资。 题目描述 例如&#xff0c;假设有 1 分和 3 分的邮票&#xff1b;你最多可以贴 5 张…

xftp如何显示隐藏的文件详解

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 如有转载&#xff0c;请注明出处&#xff08;如不注明&#xff0c;盗者必究&#xff09; xftp可以帮助在Windows和Linux系统之间传输文件&#xff0…

java 拷贝文件夹的实现

public class CopyFiles {public static void main(String[] args) throws Exception {String src "C:\\Users\\Administrator\\Desktop\\java\\workspace\\Day01\\sources\\a";//源路径String tar src1; //目标路径copyFolder(sr…

Linux简单实用小技巧

常用小技巧1.键盘上下键2.Tab键的使用3.ctrlc4.ctrle5.ctrla6.clearhttps://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 如有转载&#xff0c;请注明出处&#xff08;如不注明&#xff0c;盗者必究&…

java ArrayList的实现

public class ArrayListDemo {public int size0;//当前数组容量public int capacity2;//默认容量public Object[] objects new Object[capacity];public ArrayListDemo() {}public void add(Object object) {//检查数组是否已经装满&#xff0c;如果数组装满&#xff0c;数组容…

Linux用户、权限及改变文件所有者及文件所属组多例详解 附python代码

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 如有转载&#xff0c;请注明出处&#xff08;如不注明&#xff0c;盗者必究&#xff09; Linux用户、权限及改变文件所有者及文件所属组多例详解一、…

tensorflow tfrecoder read write

1 # write in tfrecord2 import tensorflow as tf3 import os4 os.environ[TF_CPP_MIN_LOG_LEVEL] 25 6 7 FLAGS tf.app.flags.FLAGS8 tf.app.flags.DEFINE_string("tfrecords_dir", "./tfrecords/captcha.tfrecords", "验证码tfrecords文件"…

linux管道举例理解

linux管道举例理解一、管道的定义&#xff1a;“|”二、查找2.1统计当前目录下有多少个文件2.2查看当前目录下的前n&#xff08;3&#xff09;个文件2.3查看wang.txt文件包含i的字符行2.4查看内存使用情况2.5查询进程三、更改https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎…

Sublime Text 3安装GoSublime

GoLand IDE工具虽然在编程时很好用&#xff0c;但是在使用中也有个问题&#xff0c;有时我们可能只是写一个简单的脚本来测试&#xff0c;对于我而言在打开IDE太重量级了&#xff0c;所以捣鼓了GoSublime工具来满足平时最基本的需求。 下载GoSublime源码 官方地址&#xff1a;h…

计算机二进制、八进制、十进制、十六进制的转换(计算机基础进制的转换)

常用进制转换1.进制特点2.十进制与二进制的转换2.1对应关系2.2举例一&#xff1a;二进制1011转换十进制2.3举例二&#xff1a;二进制10111转换十进制2.3举例三&#xff1a;十进制45转换成二进制2.4举例四&#xff1a;十进制小数0.25转换成二进制3.八进制与二进制3.1对应关系3.2…

sys.dm_exec_query_stats的total_worker_time的单位是微秒还是毫秒

该视图sys.dm_exec_query_stats存放的就是当前所有执行计划的详细信息&#xff0c;比如某条执行计划共占CPU多少等等。因为该视图对编译次数、占用CPU资源总量、执行次数等都进行了详细的记录&#xff0c;所以&#xff0c;可以说是优化 DB服务器CPU 的一大利器。 那么如下关于C…