基于Python2.7

数据类型

大小写敏感

字符串 ‘’’ abc ‘'’可以表示多行内容

布尔 True、False

空置 None

字符编码

计算机只能处理数字,如果要处理文本,就需要先把文本转换成数字才能处理。

ascii

1个字节表示一个字符(表示范围只能是0~255),支持大小写英文,数字和一些符号

unicode

通常用2个字节表示一个字符(特殊字符4个字节)

utf-8

把unicode编码转换成可变长编码(节省空间),即为utf-8编码。utf-8编码把一个unicode字符根据数字大小编码成1~6个字节,比如英文字母占用1个字节,汉子通常3个字节(特殊字4~6个字节)。 ascii编码可以看做utf-8编码的一部分,所以支持utf-8编码的基本都能支持ascii编码。

unicode与utf-8

在计算机内存中,统一使用unicode编码,当需要保存到硬盘或者需要传输时,则转换成utf-8编码。 比如,打开文本文件时,会将磁盘上的utf-8编码转换成unicode到内存,然后保存文件时,会讲内存中的unicode转换成utf-8保存到文件。

使用

unicode表示的字符串用u'xxx'表示

>>> u'中' //unicode字符
u'\u4e2d'
>>> print u'中文'
中文

编码转换:encode('utf-8')decode('utf-8')

>>> u'ABC'.encode('utf-8') //unicode转换成utf-8
'ABC'
>>> u'中文'.encode('utf-8')
'\xe4\xb8\xad\xe6\x96\x87'

>>> 'abc'.decode('utf-8') //utf-8转换成unicode
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'\u4e2d\u6587'u'中文'是一样的,\u后面是十六进制的unicode编码

格式化

%d 整数 %f 浮点数 %s 字符串 %x 十六进制整数 特殊情况:如果字符串里有%号,则用%%表示一个%

>>>'hello, %s' % 'world'
'hello, world'