把python當日常的”計算器”用
作為程式設計師,常常看見其他的程式設計師在windows下開啟程式/附件/計算器,覺得很不可思議,我們有很多好用的東西可替代。
隨便裝一個動態語言在命令列下就執行的很好:notejs和Rhino用js的語法, perl,ruby,jvm系列的groovy也比較流行。 比較熟悉的,就用python舉舉例子。
正常的加減乘除括號優先順序,好像幾乎所有語言一樣,總之敲鍵盤比點那個計算器方便多了
>>>12345+324*23
19797
計算冪
>>>3**4 或 pow(3,4)
81
開方也相當於求倒數的冪
>>>2**0.5
1.4142135623730951
另外通常數字是十進位制,前面加0表示八進位制,0x表示十六進位制,0b表示二進位制 >>> 0b101
5
其他進位制如果需要可以自己轉,看看“29”在26進位制數裡表示什麼
>>> int("29",26)
61
這些應該可以足以代替計算器了,但是平常我們會用的更多
ascii碼和字元的轉換,chr和ord可以理解成相反運算
>>> chr(97)
'a'
>>>ord('a')
97
關於時間和編碼問題,用python在命令列下敲一敲,很好用。
資料庫經常會儲存int形的時間,看看一個時間戳(since epoch)表示的時間是什麼時候,
>>> import time
>>> time.ctime(1347984629)
'Wed Sep 19 00:10:29 2012'
我看到有人還專門為這個用VC開發一個工具,圖形介面的,也很好用,但是不跨平臺,到別人機器上還得copy過來……
當然時間也可以轉成其他格式,關於時間各種型別轉換以及下面的編碼問題,都值得另開一篇了,不再詳述。
我最常用的使用是在碰到亂碼問題時,以“中文”這兩個漢字來舉例
看看他的unicode是什麼
>>> u"中文"
u'\u4e2d\u6587'
看他的gbk編碼
>>> u"中文".encode("gbk")
'\xd6\xd0\xce\xc4'
看看臺灣人民怎麼表示
>>> u"中文".encode("big5")
'\xa4\xa4\xa4\xe5'
再比如如果抓包的時候發現抓到某個字串內容d6d0cec4 (這裡不考慮大端小端的,可以把這個因素按實際情況調整) 看看他是什麼,
因為我們碰到編碼問題,無非就是GBK,utf-8, iso8859-1,再大不了有utf16,試試就行了,
>>> print '\xd6\xd0\xce\xc4'.decode("gbk")
中文
用其他編碼試會直接報錯的 這個地方憑經驗可以猜測,最常用的utf-8表示漢字是3個一組,GBK時兩個一組 使用的多了熟悉之後。
很多標準庫就可以拿來提高效率,比如,想一下子生成多個目錄結構,a下放個b,b下放個c,又不想建立一個,進去再建立一個……
*nix下mkdir有個-p引數,用下面這招雖然麻煩點,但windows也能用。
>>> import os
>>> os.makedirs("a/b/c/d")
只想提出來拋磚引玉一下,熟悉perl的,熟悉ruby的,熟悉shell的,可以各挖掘自己熟悉的,各取所需:)