python中字符與數字相互轉換用chr()即可。
python中的字符數字之間的轉換函數
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 ) 將一個整數轉換為一個八進制字符串
chr(65)='A'
ord('A')=65
int('2')=2;
str(2)='2'
擴展資料:
python數字轉換為字符串主要包括兩種形式:第一種是str(),將值轉換為用戶便于閱讀的形式;另一種是repr(),將值轉換為合法的python表達式。
>>> print repr("Hello, world!")
'Hello, world!'
>>> print repr(10000L)
10000L
>>> print str("Hello, world!")
Hello, world!
>>> print str(10000L)
Python語言的默認書寫格式是二進制的,計算機的底層默認書寫格式都是0或1,也就是二進制!
需要使用中文就輸入中文,大多數情況下應該是用不著的。
首先,Python 3內部str采用Unicode編碼,不是UTF-8編碼。Unicode是字符編碼,UTF-8是字符傳輸編碼(當然也用于文件存儲),二者不是一個概念。在Unicode出現之前,字符編碼和字符傳輸編碼沒有區別,比如ASCII,GBK、BIG5等等。Unicode編碼不用于直接傳輸或存儲,對應于Unicode的傳輸編碼有UTF-8、UTF-16、UTF-32等多種格式,通常采用UTF-8編碼,在Unicode編碼小于256時,與ASCII編碼完全一致,兼容性好,而且傳輸量也比UTF-16、UTF-32要小。
在Python 2時代,Python的str對象是簡單的字節流,默認ASCII編碼,無法直接打印非ASCII字符,unicdoe對象內部采用Unicode編碼,才支持非ASCII字符打印。對于非ASCII字符需要decode()指定編碼轉換unicode,輸出時encode()轉換為具體傳輸編碼,用于顯示、保存、傳輸。
Python 3時代,str對象內部采用unicode實現,相當于Python 2的unicode對象,同時用bytes對象來表示原始的字節流也就是原始的傳輸或者存儲的字節。Python 3默認的傳輸和存儲字節流是UTF-8編碼,也就是說,不指定原始字節流編碼的情況下,Python 3自動按照UTF-8解碼原始字節流,并自動轉換為Unicode字符編碼用于內部處理。同樣,輸出時如果不指定編碼,也會自動轉換為UTF-8編碼格式(不一定正確,再某些系統上,Python 會檢測運行環境的編碼,自動轉換為環境的默認編碼)。
因此,Python 3 強烈建議,在傳輸和存儲時都采用UTF-8編碼,這樣就無需考慮字符編碼的問題。
為了與其他系統或者軟件兼容,Python 3同樣提供了decode()、encode()函數用于Unicode與其他傳輸編碼的轉換。并且,對open()函數增加了encoding參數,用于非UTF-8編碼的文件讀寫的支持。
所以,你要清楚的是,原始數據文件的編碼格式。如果是UTF-8編碼,使用Python 3時無需考慮編碼問題。如果是GB2312 、GBK等那么就有兩種方式,一是指定encoding參數打開,得到的str對象;或者以二進制,即mode參數指定'b',得到bytes對象,再decode()解碼,轉換為unicode對象。
結果為2因為雖然>>是python的二進制右移命令0b1010右移2位后變為0b10也就是十進制的2