第六章 序列:字符串、列表和元组
字符串类型同样也是不可变的,当你要改变一个字符串的时候就必须通过创建一个新的同 名的字符串来取代它。
三引号(’’’或者”””) :
允许一个字符串跨多行,字符串中可以包含换行符,制表符及其他特殊字符。
ASCII 码:每个英文字符都是以 7 位二进制数的方式存放在计算机内,范围是 32~126。
Unicode 通过使用一个或多个字节来表示一个字符的方法突破了 ASCII 的限制,可以表示超 过 90000 个字符。
ASCII 字符串 – StringType 类型
Unicode 字符串 – UnicodeType 类型
默认所有字面上的字符串都是 ASCII 编码, ’u’前缀声明 Unicode 编码。
codec 是 Coder/DECoder 的首写字母组合。
Unicode 应用的规则:
程序中出现字符串时前面一定要加个’u’
不要用 str()函数,用 unicode()代替
不要用过时的 string 模块
不到必须时不要在你的程序里编解码 Unicode 字符。只在你写入文件或者数据库或 者网络时,才调用 encode()编码,相应地,只在你需要把数据读回来的时候才调 用 decode()函数解码
Python 标准库中绝大部分模块都是兼容 Unicode 的,除了 pickle 模块只支持
ASCII。
Python 字符串不是通过 NUL 或者’\0’来结束的, 它除了你定义的东西,没有别的。
并非调用一个方法就会返回一个值。
那些可以改变对象值的可变对象的方法是没有返回值的。如:sort(),extend()等。
列表跟元组是两个非常相似的序列类型, 之所以要保留二者是因为在某些情况下,其中一 种类型要优于使用另一种类型。
list()跟 tuple()函数可以用一个列表来创建一个元组,反之亦然。