刚开始折腾Python,今天发现了一个很奇怪的错误。

def accept(*s):

print(sum(s))

list = (0, 1, 2, 3, 7.5)

print(sum(list))

accept(list)

这段代码会报错:TypeError: unsupported operand type(s) for +=: 'int' and 'tuple',在函数中产生了int

与tuple相加的情况。但是函数外的sum(list)输出结果是正常的。

我们print(type(s)),得到的结果:。既然s也是元组,为什么会产生这样的结果呢?我们

分别打印一下s与list,输出是这样的:

(0, 1, 2, 3, 7.5)((0, 1, 2, 3, 7.5),)

从这结果可以看到,将list直接传入accept函数,效果并不是像我们期望的那样将s赋值为list再进行操作,

而是将整个list元组作为s的第一个元素,因此s是一个元组的元组。

那么有没有办法将list的元素分别传递进去呢?当然是有的,使用 ‘*’ 操作符。

我们将代码稍微更改成这样:

def accept(*s):

print(sum(s))

list = (0, 1, 2, 3, 7.5)

print(sum(list))

accept(*list)

输出结果:

13.5

13.5

这样就正常了。

‘*’ 操作符的作用是将元组“解包”,则a

python中上标星号怎么打_Python中参数前加星号的用法相关推荐

  1. Python基础_第3章_Python中的循环结构

    Python基础_第3章_Python中的循环结构 文章目录 Python基础_第3章_Python中的循环结构 Python中的循环结构 一.回顾分支练习题 1.判断是否为一个合法三角形 2.求世界 ...

  2. Python基础_第5章_Python中的数据序列

    Python基础_第5章_Python中的数据序列 文章目录 Python基础_第5章_Python中的数据序列 Python中的数据序列 一.字典--Python中的==查询==神器 1.为什么需要 ...

  3. python列表前加星号是什么_Python中的星号:用途及使用方法(1)

    Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 原作者:Trey Hunner Python中 *和**很常见.无论是对于编程萌新还是许多从其他编程语言( ...

  4. python中参数前面加星号是什么意思_详解Python函数中参数带星号是什么意思

    函数的参数使用除了常规的位置参数和关键字参数外,还支持可变个数的函数参数,这种支持可变个数的参数方法称为参数收集,对应的参数称为收集参数. 一.参数收集的定义 Python的函数支持可变不定数量的参数 ...

  5. python post与get的区别_python中get和post有什么区别

    更多编程教程请到:菜鸟教程 https://www.piaodoo.com/ 友情链接: 高州阳光论坛https://www.hnthzk.com/ 人人影视http://www.sfkyty.com ...

  6. python深复制与浅复制_Python中的深拷贝和浅拷贝详解

    要说清楚Python中的深浅拷贝,需要搞清楚下面一系列概念: 变量-引用-对象(可变对象,不可变对象)-切片-拷贝(浅拷贝,深拷贝) [变量-对象-引用] 在Python中一切都是对象,比如说:3, ...

  7. python运行mcmc为何老出错_python中mcmc方法的实现

    MCMC方法在贝叶斯统计中运用很多,MIT发布的EMCEE是实现的比较好的.介绍页面在下面.源代码中examples里的代码可以帮助理解各种功能,特别是line.py 列出了最小二乘法,最大似然法和M ...

  8. python实例属性与类属性_Python中的类属性和实例属性引发的一个坑-续

    上篇文章Python 中的类属性和实例属性,我们探讨了类属性和实例属性引发的一个小坑.总结了类属性和实例属性的区别如下:类属性可以被类和实例调用,实例属性只能被实例调用 类属性不会随着实例的调用而改变 ...

  9. python中str和int区别_python中eval与int的区别浅析

    python中eval和int的区别是什么?下面给大家介绍一下: 1.eval()函数 eval(<字符串>)能够以Python表达式的方式解析并执行字符串,并将返回结果输出.eval() ...

  10. python计算数组元素的和_python中数组的运算

    Python中进行数组的运算需要调用NumPy包. 其官网是:http://www.numpy.org/​www.numpy.org NumPy是Python语言的一个扩充程序库.它支持高级大量的维度 ...

最新文章

  1. SDN/NFV步入规模部署期 运营商拓智能化成大势所趋
  2. oracle学习之三--多表查询
  3. jBPM4.4 window下启动tomcat
  4. [react] React16废弃了哪些生命周期?为什么?
  5. java学习(91):System类
  6. 计算机组成原理简单计算机设计,计算机组成原理课设.doc
  7. 栾川一高2021高考成绩查询,2017栾川一高录取分数线(附2017高考成绩喜报)
  8. java链表实现二叉树_Java 实现链表、二叉树的一些问题
  9. android stuido 快捷键
  10. 干货 | 科研大牛们怎么读文献?
  11. leetcode [26] 删除排序数组中的重复项 / Remove Duplicates from Sorted Array
  12. 智能优化算法应用:基于麻雀搜索算法的TSP问题求解 - 附代码
  13. Linux--shell编程原理--03
  14. 椭球体上某区域面积的求算,及该区域兰伯特投影与墨卡托投影到二维平面后面积对比...
  15. 阿波罗apollo使用方法+领英使用
  16. 转载:位图和矢量图的区别
  17. Windows bat 编程基本语法
  18. 失眠患者的功能连通性改变
  19. XML报表打印出错,乱码问题
  20. 【开发工具】JetBrains

热门文章

  1. kaminari 简要文档
  2. 网络共享计算机权限访问,局域网共享时提示:你没有权限访问,请与网络管理员联系...
  3. 华为Ruby语言需要去理解的东东
  4. 研发质量管理工作经验总结(四)----QA的价值
  5. matlab ignoreanalyticconstraints,MATLAB函数随笔之计算篇
  6. 不用U盘从linux重装win系统,不用U盘和光盘安装win7旗舰版系统
  7. activiti 5.19整合modeler在线编辑器
  8. 计算机领域国际顶级会议
  9. 百度云语音合成 Python SDK
  10. 如何成为优秀的软件人才