1. 程式人生 > >Python基本 char和string

Python基本 char和string

From: http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001386819196283586a37629844456ca7e5a7faa9b94ee8000

字母和對應的數字相互轉換

>>> ord('A')
65
>>> chr(65)
'A'
u'xxx'轉換為UTF-8編碼的'xxx'encode('utf-8')方法:
>>> 'abc'.decode('utf-8')
u'abc'
>>> '\xe4\xb8\xad\xe6\x96\x87'
.decode('utf-8') u'\u4e2d\u6587' >>> print '\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8') 中文

u'xxx'轉換為UTF-8編碼的'xxx'encode('utf-8')方法:

u'xxx'轉換為UTF-8編碼的'xxx'encode('utf-8')方法:>>> u'ABC'.encode('utf-8')
'ABC'
>>> u'中文'.encode('utf-8')
'\xe4\xb8\xad\xe6\x96\x87'

字串裡面的%是一個普通字元怎麼辦?這個時候就需要轉義,用

%%來表示一個%

>>> 'growth rate: %d %%' % 7
'growth rate: 7 %'

由於Python原始碼也是一個文字檔案,所以,當你的原始碼中包含中文的時候,在儲存原始碼時,就需要務必指定儲存為UTF-8編碼。當Python直譯器讀取原始碼時,為了讓它按UTF-8編碼讀取,我們通常在檔案開頭寫上這兩行:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

第一行註釋是為了告訴Linux/OS X系統,這是一個Python可執行程式,Windows系統會忽略這個註釋;

第二行註釋是為了告訴Python直譯器,按照UTF-8編碼讀取原始碼,否則,你在原始碼中寫的中文輸出可能會有亂碼。

如果你使用Notepad++進行編輯,除了要加上# -*- coding: utf-8 -*-外,中文字串必須是Unicode字串:

coding-in-notepad++

申明瞭UTF-8編碼並不意味著你的.py檔案就是UTF-8編碼的,必須並且要確保Notepad++正在使用UTF-8 without BOM編碼:

set-encoding-in-notepad++

如果.py檔案本身使用UTF-8編碼,並且也申明瞭# -*- coding: utf-8 -*-,開啟命令提示符測試就可以正常顯示中文:

py-chinese-test-in-cmd

其他

使用內建的isinstance函式可以判斷一個變數是不是字串:

>>> x = 'abc'
>>> y = 123
>>> isinstance(x, str)
True
>>> isinstance(y, str)
False