Contents ...
udn網路城邦
十個python程序小技巧
2015/12/08 14:04
瀏覽131
迴響0
推薦0
引用0
1 在作比較時你可以這樣寫: 3.143.14 and pi<3.15)是一樣的,在大多數其他語言裏,你都不能用這麽自然的語法了。

2 Int類型不會在超過31bit或32bit後溢出,它們會變成long型。在
python裏,long並非就是64位,他就是"長"類型,(python的長類型可以容納數萬位大的整數),效率會降低一點。在python 3000中,甚至連int與long的區別都沒有了。

3默認值只會在編譯時被賦值一次,而非運行時。試試這個: def func
(a[]): a.append(42); 返回值a會隨調用不斷加入42. python的教程裏有更多相關的討論。

4 連接多個字符串時,"".join(list)會比 for x in list: s+=x快得多。實際上 join調用復雜度是o(n),而+=是o(n2).有很多人要求使這個調用更快,而且python2.5裏似乎也應該變得更快了,但我的測試結果

卻並非如此,有誰知道為什麽嗎?

5 語法 print >>file裏,僅數值被寫入文件中,而print的格式化功能不起作用。我很高興聽到他們說在python 3000總,print會變成一個函數,而且帶有了更多高級的特性。

6 你可以通過(x,)來創建只有一個元素的tuple,通常你只能建立如
(x,y,z)那樣的tuple,如果你想通過(x)來建立一個tuple,得到的只是x

7如果你想看看整數類的幫助文檔,你可以寫(5).__str__; 你不能簡化成5.__str__,因為解釋器會把5.認作是浮點數,然後出錯了。

8你可以使用屬性而不是getter或setter函數。例如serial. baudrate=192000 可以設置serial._baud,跟你調用其它調用的效果一樣。

9 一個緊跟在for循環後的else語句只有在循環不通過break退出時才會被調用。這對查找循環很有用處,通常這樣的循環都會需要在退出後作
額外的檢查判斷。

10 你來告訴我你的技巧,哈!你以為你能逃得掉嗎;-)
全站分類:知識學習 科學百科
自訂分類:不分類
上一則: WEB開發中的權限設計
下一則: MySQL內部臨時表策略
你可能會有興趣的文章:

限會員,要發表迴響,請先登入