python有哪几种赋值(关于python多重赋值的小问题)
类别:脚本大全 浏览量:1115
时间:2021-10-16 00:40:45 python有哪几种赋值
关于python多重赋值的小问题前言
今天无意中发现在python中的一个多重赋值的小问题,自己一开始是比较简单化的理解了这个多重赋值操作的概念,所以导致在一道实现斐波那契数列的代码中,发现了自己的问题,顺便记录下吧,当作是学习总结。
首先是python的多重赋值操作,先用一个直观的代码来看:
|
a,b = 0 , 1 |
上述就是一个最简单的多重赋值操作,这个赋值操作的作用是将赋值操作 = 右侧的对象逐一赋给左侧的对象,所以这个操作结果是a对象的值为0,b对象的值为1,这点很好理解。
然鹅,如果是下列的代码呢?
|
# Fibonacci series: a, b = 0 , 1 while b < 10 : print b a, b = b, a + b |
显然,运行结果是正确的:
1
1
2
3
5
8
那么如果将代码改成这样呢?
|
#Fibonacci series: a = 0 b = 1 while b < 10 : print b a = b b = a + b |
运行结果是:
1
2
4
8
显然不正确。。。。
其实问题在于多重赋值操作是一个等号右边表达式会在赋值操作进行之前被完全解析的过程。也就是说,对于
|
a, b = 0 , 1 |
变量a和b是同时获得新的值0和1。而对于
|
a, b = b, a + b |
说明等号右边的表达式在赋值之前首先被完全解析。右侧表达式是从左到右计算的。在赋值完成之前,a+b的操作是已经完成了表达式的计算结果了的,所以,如果将 a,b = b, a+b 等同于 a = b,b = a+b 是完全不正确的。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对开心学习网的支持。
原文链接:https://blog.csdn.net/JewelCCL/article/details/79187469
您可能感兴趣
- python 常用爬虫库(Python常用爬虫代码总结方便查询)
- python try高级用法(python try 异常处理史上最全)
- python协程详解(为什么你还不懂得怎么使用Python协程)
- python制作彩色字符(Python3利用print输出带颜色的彩色字体示例代码)
- python随机生成时间戳(python时间序列按频率生成日期的方法)
- thinkphp实战教程之博客技术学习(python3编写ThinkPHP命令执行Getshell的方法)
- 如何用python画函数图(使用python绘制二元函数图像的实例)
- python中if的条件语句(浅谈Python的条件判断语句if/else语句)
- python 文本文件读取方法(Python逐行读取文件中内容的简单方法)
- python中随机生成不重复随机数(python 在指定范围内随机生成不重复的n个数实例)
- python冒泡排序代码通俗理解(详解python算法之冒泡排序)
- python 调钉钉接口(python3实现钉钉消息推送的方法示例)
- python变量指向讲解(详解python中init方法和随机数方法)
- python基本数据结构(浅谈Python编程中3个常用的数据结构和算法)
- linux下python安装pip(在Docker中的ubuntu中安装Python3和Pip的问题)
- python的decode函数在哪个模块(python中报错"json.decoder.JSONDecodeError: Expecting value:"的解决)
- 指天椒紫苏爆炒牛肉(指天椒紫苏爆炒牛肉)
- 谷雨前,吃牛羊肉别忘了吃河鲜,除湿还清热,加紫苏一炒特解馋(吃牛羊肉别忘了吃河鲜)
- 紫苏牛肉锅里滚一滚,香的鼻子都要掉了(紫苏牛肉锅里滚一滚)
- 每天都吃水果的好处(每天吃水果的好处与功效)
- 苹果15价格(苹果15价格512g官网)
- 春节放假几天(春节放假几天2023法定几天)
热门推荐
- thinkphp微信开发实例(ThinkPHP框架下微信支付功能总结踩坑笔记)
- php导出excel使用方法(PHP使用ajax的post方式下载excel文件简单示例)
- SQLServer日期函数总结案例详解(SQLServer日期函数总结案例详解)
- mysql重启启动失败(MySQL8.0无法启动3534的解决方法)
- python图片模板匹配(python实现简单图片物体标注工具)
- docker容器启动后怎么进入(Docker 退出container后保持继续运行的操作)
- linux系统查看nginx系统版本(Linux中Nginx的防盗链和优化的实现代码)
- vueclass和style绑定(Vue中Class和Style实现v-bind绑定的几种用法)
- html5如何使用svg(将SVG图引入到HTML页面的实现)
- SQL Server数据类型有哪些
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9