Python的那些隱藏特性

1. 函數參數unpackpython

>>> def foo(x, y):
...     print x,y
... 
>>> alist = [1, 2]
>>> adict = {'x': 1, 'y': 2}
>>> foo(*alist)
1 2
>>> foo(**adict)
1 2

2. 鏈式比較操做符
 安全

>>> x = 3
>>> 1 < x < 5
True
>>> 4 > x >=3
True

3. 注意函數的默認參數app

>>> def foo(x=[]):
...     x.append(1)
...     print x
... 
>>> foo()
[1]
>>> foo()
[1, 1]
>>> foo()
[1, 1, 1]

#更安全的作法:
>>> def foo(x=None):
...     if x is None:
...         x = []
...     x.append(1)
...     print x
... 
>>> foo()
[1]
>>> foo()
[1]
>>> foo()
[1]

4.for…else 語法函數

>>> for i in (1, 3, 5 ,8):
...     if i % 2 == 0:
...         break
...     else:
...         print "var i is always an odd"
... 
var i is always an odd
var i is always an odd
var i is always an odd
相關文章
相關標籤/搜索