將函式作為引數傳入。
def conv(func,wa):
try:
return [func(item) for item in wa]
except (valueerror,typeerror),digs:
print digs
wb=(12,34.3,-23,-6.2e8,9999999999l)
print conv(int,wb)
print conv(float,wb)
print conv(long,wb)
執行後返回
[12, 34, -23, -620000000, 9999999999l]
[12.0, 34.299999999999997, -23.0, -620000000.0, 9999999999.0]
[12l, 34l, -23l, -620000000l, 9999999999l]
定義乙個通用函式介面,每次只是將不同的函式傳入,即可達到想要的結果。
自己感覺這裡非常不錯,但是還沒有完全吃透裡邊的思想,只是有了一絲靈感,先記錄下來等將來慢慢體會
函式指標作為函式引數
先來看看普通的指標 如果有 int a 那麼可以定義乙個 int p a 則p是乙個指向a的指標 定義指標用乙個比較粗淺的方法來說就是把原來的變數名換掉並且前面加星號,比如這裡就是把a換成p並且前面加星號,就定義了乙個可以指向a的指標 同理,如果要定義乙個指向函式的指標,那麼也只要把函式名做類似的處...
指標作為函式引數
當指標作為函式引數時,對引數本身的修改並不影響原來的值,比如下面的 刪除鍊錶中第乙個值為item的結點。但是結果卻不正確。void delete node head,int item 這段 的問題是,第乙個引數是指標型別而head null修改的實際上是這個指標的乙個副本,所以不會對原來的指標產生效...
陣列作為函式引數
一 一維陣列名作函式引數 用陣列名作函式引數,應該在主調函式和被調函式分別定義陣列,例如 void main 在被呼叫函式中宣告了形引數組的大小為10,但在實際中,指定其大小是不起任何作用的,因為c語言編譯對形引數組大小不做檢查,只將實參陣列的首元素位址傳給形引數組。形引數組可以不指定大小,在定義陣...