首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

Python里为啥可以这样赋值

2013-09-28 
Python里为什么可以这样赋值初学Python,练习观摩别人的代码,看到网上有人在Python里赋值语句是这么写的不

Python里为什么可以这样赋值
初学Python,练习观摩别人的代码,看到网上有人在Python里赋值语句是这么写的
不是很理解,请各位牛人们提点提点


def fab(max): 
    n, a, b = 0, 0, 1 
    while n < max: 
        print b 
        a, b = b, a + b 
        n = n + 1

在代码
a, b = b, a + b

按我的理解,他想表达的含义是把b的值赋给a,把a + b的值赋给b ?
可是这样赋值是不是会让人迷惑啊,难道这是Python标准的赋值形式? Python赋值
[解决办法]
这是元祖赋值方式,省略圆括号(在其他一些情况也能省略圆括号,例如某些生成器表达式的写法)
(a, b) = (b, a + b)
所以赋值的过程中,a,b的值没有改变,赋值后才改变

热点排行