据我目前所了解的语言,只有python有这种神奇的特性——
如果需要交换两个数据的值,以我所熟练掌握的C语言为例,通常会写成如下形式:
temp=x;
x=y;
y=temp;
上面就是说,我们必须声明一个中间变量来临时保存其中一个数的值,然后进行数据的交换。
然而python同步赋值的强大特性将在此展露无遗:
x, y = y, x;
同步赋值可以完成同时对多个变量进行赋值,即先计算‘=’右侧的多个表达式,再把各个表达式结果的值赋值给左侧对应位置的变量。
当然,强大的python同样兼容上面的以中间变量临时保存的赋值写法。
再贴个例子:
x, y = 1, 2
x, y = y*3+5, x*6+10
print("输出x:%d"%x)
print("输出y:%d"%y)
首先说一点,这四行代码是可以直接贴在IDLE运行的。
由例子也可以看出python与C、C++的差别:不用声明类型名称!这就是python的动态特性,一个变量无需声明就可以直接使用,不过还是需要对变量做初始化,不然就会报错。