Python基本 char和string
阿新 • • 發佈:2019-01-07
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字串:
申明瞭UTF-8編碼並不意味著你的.py
檔案就是UTF-8編碼的,必須並且要確保Notepad++正在使用UTF-8 without
BOM編碼:
如果.py
檔案本身使用UTF-8編碼,並且也申明瞭#
-*- coding: utf-8 -*-
,開啟命令提示符測試就可以正常顯示中文:
其他
使用內建的isinstance
函式可以判斷一個變數是不是字串:
>>> x = 'abc'
>>> y = 123
>>> isinstance(x, str)
True
>>> isinstance(y, str)
False