可爱的 Python:获得版本 2.0
2007-03-29 12:08:12 来源:WEB开发网核心提示: Python 2.0 添加了与函数定义所使用的相同的函数 调用约定,例如:函数调用的约定>>> argdict = {'spam':'tasty', 'eggs':'over easy'}>>&g
Python 2.0 添加了与函数定义所使用的相同的函数 调用约定。例如:
函数调用的约定
>>> argdict = {'spam':'tasty', 'eggs':'over easy'}
>>> arglist = [1,2,3,4,5]
>>> myfunc(*arglist, **argdict)
Required arguments: 1 2
Extra arguments: 3 4 5
Dictionary arguments:
** spam = tasty
** eggs = over easy
原先在 Python 中总可以达到相同的效果(通过命名的列表传递自变量,可能是在运行时动态创建的)。但新的调用语法比旧的 apply() 函数的用法更方便。
增加的赋值
现在,Python 在赋值方面有了一个快捷方式,它将为 C、Perl、Awk、Java 和各种其它语言的程序员所熟悉。现在有可能将一个运算符固定在等号左侧,来基于其旧值更改所赋的变量的值。例如:
赋值中的新快捷方式
>>> i = 1
>>> i += 1 ; i
2
>>> i *= 3 ; i
6
>>> i /= 2 ; i
3
>>> str = "Spam and eggs"
>>> str += "...and sausage and spam and bacon" ; str
'Spam and eggs...and sausage and spam and bacon'
从语义上说,增加的运算符所执行的操作完全等同于以下操作:在普通赋值左侧重复左侧变量,再在它后面跟上相应的运算符和另一个操作数。所以从这一意义上说,它只是一种语法上的粉饰。
但请注意,增加的赋值实际上是对性能方面的改进。我没有亲自衡量过它,但该讨论使人想到,使用增加的赋值可以节省查表和某些对象分配的工作。对数来说,这并不重要;但如果您碰巧使用的是几兆字节的字符串,使用增加的赋值可以加快速度,同时减少内存的使用。
更多精彩
赞助商链接