基于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'