《第4.7节 Python特色的序列解包、链式赋值、链式比较》一文中,老猿这样介绍的:

链式赋值是用一行语句将多个变量赋值为同一个值,语法如下:
变量1=变量2=变量n=赋值表达式
该语法实际执行效果类似于:
变量n=赋值表达式
变量2=变量n
变量1=变量2

有CSDN的博友Johnny592友情指出老猿这种解释错了,正确的应该是“ a=b=c=1 顺序是:a=1,b=a,c=a,有顺序”,老猿仔细验证了一下,证明Johnny592说得是正确的,证明过程如下:

>>> k,l=0,[10,20,30,40]
>>> k=l[k]=3
>>> l #下面的结果显示l[3]=3,说明k先被赋值为3,才有l[3]赋值为3
[10, 20, 30, 3]
>>>
>>>> k,l=0,[10,20,30,40]
>>> k=l[k]=l[l[k]-1]=3
>>> l #跟上面结果对比表明:l[k]-1=2,说明l[k]比l[l[k]-1]先执行赋值
[10, 20, 3, 3]
>>>

从上述案例执行结果可以看出,l[k]中的k是3,因此是k先赋值为3,再执行的l[k]的赋值。也就是说链式赋值是从左到右的顺序执行赋值的。

再次感谢Johnny592博友!!

老猿Python,跟老猿学Python!

博客地址:https://blog.csdn.net/LaoYuanPython


请大家多多支持,点赞、评论和加关注!谢谢!

最新文章

  1. Be Better:遇见更好的自己-2016年记
  2. 百度UEditor在线编辑器的配置和图片上传
  3. linux内核中的每cpu变量
  4. 关于STM8空间不足的解决方法
  5. sql注入实例分析
  6. [转]设计模式(22)-Strategy Pattern
  7. Cent OS 6 主机名设置
  8. iOS开展UI一片—简单的浏览器观看节目
  9. LINQ to SQL的一些简单用法
  10. svn代码统计工具的金额
  11. Spring(一)之IOC、bean、注入
  12. 理解SSL/TLS协议
  13. 论文阅读——Visual inertial odometry using coupled nonlinear optimization
  14. [Codeforces 961G]Partitions
  15. 关于setTimeout和setInterval的函数参数问题
  16. 崩 oj 1768 最大子矩阵
  17. 【UI测试】--帮助设施
  18. Nginx性能优化功能- Gzip压缩(大幅度提高页面加载速度)
  19. 将windows控制台内容输出到文件中
  20. Java 实现对文件系统的监控

热门文章

  1. yum安装出现被锁定的报错
  2. pytorch训练GAN时的detach()
  3. 《精通Spring4.x企业应用开发实战》第三章
  4. kali xHydra使用
  5. EMP-面向未来微前端方案正式开源了!
  6. KepServer与S7-1200PLC之间的OPC通信配置
  7. 当年使用dpdk干的事
  8. JS控制Video播放器(快进、后退、播放、暂停、音量大小)
  9. 背包问题(动态规划 C/C++)
  10. 字符串匹配—KMP算法