python的 a,b=b,a+b 和 a=b b=a+b 的区别

n,a,b=0,0,1whilen<6:print(b)a,b=b,a+bn=n+1和n,a,b=0,0,1whilen<6:print(b)a=bb=a+bn=n+1输... n,a,b=0,0,1
while n<6:
print(b)
a,b=b,a+b
n=n+1

n,a,b=0,0,1
while n<6:
print(b)
a=b
b=a+b
n=n+1
输出结果不一样
展开
 我来答
YBudge
高粉答主

推荐于2019-08-09 · 每个回答都超有意思的
知道小有建树答主
回答量:1541
采纳率:100%
帮助的人:40.4万
展开全部

区别就是:赋值运算,先计算赋值号(也就是=号左边的,再赋值) 

1、a, b = b, a+b 这种赋值

先计算等值 右边 就是 b=1 a+b=1

再赋值给a和b,那么 a=1, b=1

2、a = b b = a+b

此时 b=1, 那么a=1 那么最后 b=2

a, b = b, a+b 这个表达式的意思就是说,先计算=号的右边b的值,a+b的值,算好了,然后再分别赋值给a 和b就可以了。

扩展资料:

Python在执行时,首先会将.py文件中的源代码编译成Python的byte code(字节码),然后再由Python Virtual Machine(Python虚拟机)来执行这些编译好的byte code。这种机制的基本思想跟Java,.NET是一致的。

然而,Python Virtual Machine与Java或.NET的Virtual Machine不同的是,Python的Virtual Machine是一种更高级的Virtual Machine。这里的高级并不是通常意义上的高级,不是说Python的Virtual Machine比Java或.NET的功能更强大,而是说和Java 或.NET相比,Python的Virtual Machine距离真实机器的距离更远。

或者可以这么说,Python的Virtual Machine是一种抽象层次更高的Virtual Machine。基于C的Python编译出的字节码文件,通常是.pyc格式。

除此之外,Python还可以以交互模式运行,比如主流操作系统Unix/Linux、Mac、Windows都可以直接在命令模式下直接运行Python交互环境。直接下达操作指令即可实现交互操作。

参考资料:Pythony运算规则  百度百科

lpe234
推荐于2018-03-11 · TA获得超过2778个赞
知道小有建树答主
回答量:1250
采纳率:50%
帮助的人:558万
展开全部

赋值运算,先计算赋值号(也就是=号左边的,再赋值)

那么

a, b = b, a+b
# 这种赋值,先计算等值 右边 那么 b=1 a+b=1
# 再赋值给a和b,那么 a=1, b=1

而,下面的

a = b
# 此时 b=1, 那么a=1
b = a+b
# 那么 b=2

明白了吧。

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sordking
2014-12-19 · TA获得超过551个赞
知道小有建树答主
回答量:161
采纳率:100%
帮助的人:190万
展开全部
a,b=b,a+b 相当于:

temp=b #先保存b的原值
b=a+b #赋b新值
a=temp #将b的原值赋予a

实际就是C语言中的数据交换过程,也可理解为先计算右边后赋值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2018-01-01
展开全部
a,b=1,3 #就是把1赋值给a,把3赋值给b. 等价于a=1,b=3,这是python中赋值语法
a,b=b,a+b #就是a=b,b=a+b,同样的赋值方式。等价于a=b,b=a+b
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
资本思维X
2020-09-22
知道答主
回答量:8
采纳率:0%
帮助的人:2.2万
展开全部
这属于赋值语句,有隐藏简化用法
a,b = b , a+b 相当于
t=(a,a+b) # t是一个tuple
a=t[0]
b=t[1]
自己去编译看看返回值结果是不是这样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式