標籤:
用python編寫一些小指令碼確實很方便,但是處理資料時會涉及多種資料類型,因此在這裡對Python的類型轉換做一個整理。
先列舉一些比較經常用到的(代碼測試均在python2.7環境下):
- ord(x) 將字元轉換成對應的ascii碼十進位值
>>> ord(‘4‘)52>>> ord(‘a‘)97
- chr(x) 將十進位ascii碼值轉換成對應的字元
>>> chr(65)‘A‘
- int(x[, base ]) 將x轉換成對應進位的數字,x可以為數字字元(串),整數,浮點數..當使用base選項時,x必須為字串類型
>>> int(‘4‘)4>>> int(‘10‘)10>>> int(‘10‘,16)16>>> int(10)10>>> int(4.2)4
- unichr(x) 將十進位ascii碼值轉換成Unicode字元
>>> unichr(66)u‘B‘
>>> hex(10)‘0xa‘
最後列舉一些在網上看到的類型轉換、序列操作和數值操作的總結。
函數 描述int(x [,base ]) 將x轉換為一個整數long(x [,base ]) 將x轉換為一個長整數float(x ) 將x轉換到一個浮點數complex(real [,imag ]) 建立一個複數str(x ) 將對象 x 轉換為字串repr(x ) 將對象 x 轉換為運算式字串eval(str ) 用來計算在字串中的有效Python運算式,並返回一個對象tuple(s ) 將序列 s 轉換為一個元組list(s ) 將序列 s 轉換為一個列表chr(x ) 將一個整數轉換為一個字元unichr(x ) 將一個整數轉換為Unicode字元ord(x ) 將一個字元轉換為它的整數值hex(x ) 將一個整數轉換為一個十六進位字串oct(x ) 將一個整數轉換為一個八進位字串
操作 描述s + r 序列串連s * n , n * s s的 n 次拷貝,n為整數s % d 字串格式化(僅字串)s[i] 索引s[i :j ] 切片x in s , x not in s 從屬關係for x in s : 迭代len(s) 長度min(s) 最小元素max(s) 最大元素s[i ] = x 為s[i]重新賦值s[i :j ] = r 將列表片段重新賦值del s[i ] 刪除列表中一個元素del s[i :j ] 刪除列表中一個片段
x << y 左移x >> y 右移x & y 按位與x | y 按位或x ^ y 按位異或 (exclusive or)~x 按位翻轉x + y 加x - y 減x * y 乘x / y 常規除x // y 地板除x ** y 乘方 (xy )x % y 模數 (x mod y )-x 改變運算元的符號位+x 什麼也不做~x ~x=-(x+1)abs(x ) 絕對值divmod(x ,y ) 返回 (int(x / y ), x % y )pow(x ,y [,modulo ]) 返回 (x ** y ) x % moduloround(x ,[n]) 四捨五入,n為小數點位元x < y 小於x > y 大於x == y 等於x != y 不等於(與<>相同)x >= y 大於等於x <= y 小於等於
python類型轉換