文章目录

  • 一、问题分析
  • 二、替换方案

一、问题分析

在解决图像配准过程中, 涉及到如下代码,

return reduce(lambda x, (y, z): x | (z << y), enumerate(map(lambda i: 0 if i < avg else 1, im.getdata())), 0)

Python3环境下,提示“tuple parameter unpacking is not supported in python3”。翻译成中文就是“拆箱的tuple元组参数在python3中不得到支持”即此种参数形式在python3下废弃了。

参考PEP 3113 – Removal of Tuple Parameter Unpacking。可发现,在python3中之所以去除tuple元素的参数形式,在PEP 3113中是这样说的

“Unfortunately this feature of Python’s rich function signature abilities, while handy in some situations, causes more issues than they are worth. Thus this PEP proposes their removal from the language in Python 3.0.”(Python的这一丰富函数签名属性,虽然在有些使用场景下非常便利–参数的自动拆包,但是其造成的问题多于便利性。)

上面提到的自动拆箱功能如下所示:

def fxn(a, (b, c), d):Pass

在调用fxn函数时第二个参数就需要保证其长度为2,例如[42, -13],当参数传递时,就会完成参数自动拆箱,即b, c = [42, -13]。

二、替换方案

那么,在Python3中,如何取代tuple元素的传参形式呢?PEP 3113中同样给出了答案。

As tuple parameters are used by lambdas because of the single expression limitation, they must also be supported. This is done by having the expected sequence argument bound to a single parameter and then indexing on that parameter:

lambda (x, y): x + y

will be translated into:

lambda x_y: x_y[0] + x_y[1]

看到这里,相信大家都明白了,Python3中使用x_y的形式代替(x,y),使其类似于列表的形式,在调用的时候,使用x_y[index]的形式。

Python进阶(四十一)Python3解决“tuple parameter unpacking is not supported in python3”相关推荐

  1. tuple parameter unpacking is not supported in python3

    tuple parameter unpacking is not supported in python3 参考:http://blog.csdn.net/sunhuaqiang1/article/d ...

  2. 跨平台应用开发进阶(四十一)使用Xcode打包 iOS 应用 archive 时四种证书的区别详解

    文章目录 一.archive 四种模式 二.相同点 三.安装方式区别 四.iOS开发者账号(企业版)申请攻略 4.1 苹果开发者账号类型 4.2 企业版开发者账号的优势是什么? 4.3 企业版开发者账 ...

  3. [Python图像处理] 四十一.Python图像平滑万字详解(均值滤波、方框滤波、高斯滤波、中值滤波、双边滤波)

    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...

  4. python进阶(四) windows下虚拟环境使用

    虚拟环境作用: 1. 通常开发一个项目,会安装很多的第三方包,这时第三方包我们是安装在本机环境的.那么如果项目进行部署或移植的时候是不是要重新安装这些包???? 2.开发环境,同时在做两相项目,同时要 ...

  5. python读取中文txt文本-Python3 解决读取中文文件txt编码的问题

    问题描述 尝试用Python写一个Wordcloud的时候,出现了编码问题. 照着网上某些博客的说法添添改改后,结果是变成了"UnicodeDecodeError: "utf-8' ...

  6. python读取中文文件报错-Python3 解决读取中文文件txt编码的问题

    问题描述 尝试用Python写一个Wordcloud的时候,出现了编码问题. 照着网上某些博客的说法添添改改后,结果是变成了"UnicodeDecodeError: "utf-8' ...

  7. 三步解决C语言中struct字节对齐问题,Python进阶篇-struct字节对齐问题

    Python进阶篇-struct字节对齐问题 Python进阶篇-struct字节对齐问题 Python调用C的时候,会传递一些复杂的数据结构,例如结构体,这时候就会遇到各种各样字节对齐的问题.下边所 ...

  8. excel计算机不准确,Excel小教程四十一:关于Excel计算不准确,我们应该这样解决!...

    原标题:Excel小教程四十一:关于Excel计算不准确,我们应该这样解决! 我们有时候在用excel进行计算的时候,会遇到Excel计算不准确的的时候! 别怕,先听小雅为您一一道来! 5.1-5.2 ...

  9. [Python从零到壹] 四十一.图像处理基础篇之图像采样处理

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

最新文章

  1. 'yii\base\InvalidRouteException' with message 'Unable to resolve the request site/error.'
  2. mounted钩子函数_vue3.0项目开发(八)新特性之响应式系统watchEffect函数
  3. c语言精炼pdf,发计算机二级C语言多年精炼笔试试卷.pdf
  4. QQ 相册后台存储架构重构与跨 IDC 容灾实践
  5. 超实用,Spring Security+JWT+Vue实现一个前后端分离无状态认证Demo
  6. apk(安卓手机应用软件)解包汉化过程简单陈述 [转贴]
  7. ansible的介绍和一些基本模块介绍
  8. python2.7.12源码编译
  9. Michael Feathers希望消除错误能驱动设计
  10. 串行通信(一):I2C
  11. 完美仿MSN右下角弹出广告代码并可自动消失,附带关闭按钮
  12. qt的opengl开发(qopenglwidget)(初始化,画线,平移,局部缩放)2d开发
  13. 常见的几款js跳转代码
  14. 公司内外网同时使用方法
  15. WindowsServer2012R2 SSL/TLS 受诫礼(BAR-MITZVAH)攻击漏洞(CVE-2015-2808)解决办法
  16. linux文件权限数字754,linux555、644、666、755、777权限详解数字代表什么意思
  17. Dota 游戏中的攻击与伤害分析
  18. 怎么搭建网校系统,培训机构搭建专属网校平台源码
  19. 【玩转华为云】手把手教你用Modelarts实现猫狗数据集的智能标注
  20. Python 将png图片转为bmp

热门文章

  1. 多方合作开发的软件在进行软件著作权登记时因没有提交合作开发协议而被要求补正的问题
  2. maven父pom和子pom的版本号一并批量修改
  3. 二维数组查找(C++)(二分查找)
  4. 我把问烂了的⭐MySQL⭐面试题总结了一下(带答案,万字总结,精心打磨,建议收藏)...
  5. 码农们的「血与泪」:新零售「全渠道中台」的前世今身
  6. 操作系统发展史_有史以来最好的操作系统的可怕的用户界面
  7. Unity3D-UI--Layout组件
  8. 中国面粉行业需求动态与销售渠道策略报告(新版)2022-2027年
  9. x38和x48是服务器芯片吗,P45和P35区别是什么?
  10. C语言:scanf输出方式