|
特殊的方法 在類中有一些特殊的方法具有特殊的意義,比如 一般說來,特殊的方法都被用來模仿某個行為。例如,如果你想要為你的類使用
列表綜合 通過列表綜合,可以從一個已有的列表導(dǎo)出一個新的列表。例如,你有一個數(shù)的列表,而你想要得到一個對應(yīng)的列表,使其中所有大于2的數(shù)都是原來的2倍。對于這種應(yīng)用,列表綜合是最理想的方法。 >>> a=[2,3,4,5] >>> b=[2*i for i in a if i>2] >>> print b [6, 8, 10] 在函數(shù)中接收元組和列表 當(dāng)要使函數(shù)接收元組或字典形式的參數(shù)的時候,有一種特殊的方法,它分別使用 由于在 >>> def say(*a): b=() for i in range(0,len(a)): print a[i], >>> say(2,3,4) 2 3 4 >>> def say(*a): print a >>> say(2,3,4) (2, 3, 4) lambda形式
>>> def say(n): return lambda s:s*n >>> func=say(2) 運行say()時返回了lambda創(chuàng)建的新函數(shù)s:s*2給func,此時func就是一個函數(shù),其參數(shù)是s 計算的是s*2 >>> print func <function <lambda> at 0x00B5D1B0> >>> print func(5) 10 exec語句與eval語句
>>> exec "print func(5)" 接上面的lambda形式 10
>>> eval("6>5") True assert語句
>>> mylist = ['item'] >>> assert len(mylist) >= 1 >>> mylist.pop() 'item' >>> assert len(mylist) >= 1 Traceback (most recent call last): File "<stdin>", line 1, in ? AssertionError repr函數(shù)
>>> a={'1':1,'2':2,'3':3} >>> repr(a) "{'1': 1, '3': 3, '2': 2}" |
|
|