python的 a,b=b,a+b 和 a=b b=a+b 的区别(经典)
刚刚我在学习python的时候,发现下面的这个赋值要把给绕晕了(思考了很久),所以我整理之后写下博文,
希望对未来的学弟学妹有帮助!
永远爱你们的!
————新宝宝
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
输出结果不一样
解答:
赋值运算,先计算赋值号(也就是=号左边的,再赋值)
那么
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
明白了吧。
其实很简单, a, b = b, a+b 这个表达式的意思就是说,先计算=号的右边b的值,a+b的值,
算好了,然后再分别赋值给a 和b就可以了。
谢谢百度的一些启发
如果有什么不明白的地方,可以留言或者发消息,我很乐意为你们解答的!
我很弱,所以我一直都在走着!
努力是因为不想让在乎的人失望!
博主整理不易,如果喜欢推荐关注一下博主哦!
博主喜欢广交好友下面是我的联系方式:
QQ:1263030049
加好友前请注明原因谢谢!
python的 a,b=b,a+b 和 a=b b=a+b 的区别(经典)的更多相关文章
- python函数参数前面单星号(*)和双星号(**)的区别
在python的函数中经常能看到输入的参数前面有一个或者两个星号:例如 def foo(param1, *param2): def bar(param1, **param2): 这两种用法其实都是用来 ...
- 由Python通过__new__实现单例模式,所想到的__new__和__init__方法的区别
之前通过读书,了解到在Python中可以通过__new__方法来实现单例模式,代码一个示例如下,我就有了几个疑问,什么是单例模式?__new__方法是用来做什么的?用__new__方法实现的单例模式, ...
- python 3全栈开发-面向对象之绑定方法(classmethod与staticmethod的区别)、多态、封装的特性property
一.面向对象绑定方法 一.类中定义的函数分成两大类 1.绑定方法(绑定给谁,谁来调用就自动将它本身当作第一个参数传入): 1. 绑定到类的方法:用classmethod装饰器装饰的方法. 为类量身定制 ...
- python中json.load()、json.loads()、json.dump()、json.dumps()的区别
json.load()从文件中读取json字符串 json.loads()将json字符串转换为字典类型 json.dumps()将python中的字典类型转换为字符串类型 json.dump()将j ...
- python函数中的位置参数、默认参数、关键字参数、可变参数区别
一.位置参数 调用函数时根据函数定义的参数位置来传递参数. #!/usr/bin/env python # coding=utf-8 def print_hello(name, sex): sex_d ...
- python的基本知识,range在python2.x中和python3.x中的区别
这些是最开始学习python时的笔记,今天整理一下,在这里记录一下. 各种基础代码解释 for key,item in enumerate(li): print(key,item) inp=input ...
- python中函数名后面带()和不带()的区别。
今天天气不冷,微热.9.18警钟长鸣,国人当自强不息. python中有时候会遇到一个函数名称后面没有带()被调用,这是为什么呢?看下面这个例子. def target(): #定义一个函数 prin ...
- python中的绝对导入与相对导入,from __future__ import absolute_import的区别
相对导入:在不指明 package 名的情况下导入自己这个 package 的模块,比如一个 package 下有 a.py 和 b.py 两个文件,在 a.py 里 from . import b ...
- python 处理 json 四个函数dumps、loads、dump、load的区别
1 .json.dumps() 函数是将一个 Python 数据类型列表(可以理解为字典)进行json格式的编码(转换成字符串,用于传播)eg, dict = {"age": &q ...
随机推荐
- jjava Date格式是 May 07 17:44:06 CST 2018,怎么插入数据库中的timestamp格式中
首先 我来记录下错误 死在时间格式转换错误手里了 大致就是时间格式转化失败 java代码中的May 07 17:44:06 CST 2018 是这个格式转换为 数据库的 yyyy-MM-dd HH: ...
- hadoop is running beyond virtual memory limits问题解决
单机搭建了2.6.5的伪分布式集群,写了一个tf-idf计算程序,分词用的是结巴分词,使用standalone模式运行没有任何问题,切换到伪分布式模式运行一直报错: hadoop is running ...
- 关于Elasticsearch 使用 MatchPhrase搜索的一些坑
对分词字段检索使用的通常是match查询,对于短语查询使用的是matchphrase查询,但是并不是matchphrase可以直接对分词字段进行不分词检索(也就是业务经常说的精确匹配),下面有个例子, ...
- lintcode 链表求和
题目要求 你有两个用链表代表的整数,其中每个节点包含一个数字.数字存储按照在原来整数中相反的顺序,使得第一个数字位于链表的开头.写出一个函数将两个整数相加,用链表形式返回和. 样例 给出两个链表 3- ...
- iframe跨域动态设置主窗口宽高
Q:在A项目的a页面嵌入一个iframe,src是B项目的b页面,怎样让a页面的高度跟b页面的高度一样? A:解决跨域方案:增加一个A项目的c页面. 操作步骤: 一,a页面的iframe设置: 获取到 ...
- idea 和 eclipse 常用快捷键汇总
序号 所属类别 快捷键名称 快键键方式 备注 所属平台 1 查询类 search everywhere double shift idea 2 全文搜索 ctrl + H 通用 3 打开资源 ...
- 计算器源码(数学式python)
''' ******************** 请计算表达式: 1 - 2 * ( (60-30 +(-40.0/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568/1 ...
- SSM-MyBatis-17:Mybatis中一级缓存(主要是一级缓存存在性的证明,增删改对一级缓存会造成什么影响)
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 缓存------------------------------------------> 很熟悉的一个 ...
- python字符串操作实方法大合集
python字符串操作实方法大合集,包括了几乎所有常用的python字符串操作,如字符串的替换.删除.截取.复制.连接.比较.查找.分割等,需要的朋友可以参考下: #1.去空格及特殊符号 s.st ...
- windows远程桌面到linux
centos: http://lovesoo.org/xmanager-to-connect-to-the-remote-desktop-centos.html redhat: http://ww ...