Python数据分析、挖掘与可视化(慕课版)
上QQ阅读APP看书,第一时间看更新

2.1.3 字符串

字符串是包含若干字符的容器对象,其中可以包含汉字、英文字母、数字和标点符号等任意字符。字符串使用单引号、双引号、三单引号或三双引号作为定界符,其中三引号里的字符串可以换行,并且不同的定界符之间可以互相嵌套。在字符串前面加上英文字母r或R表示原始字符串,其中的每个字符都表示字面含义,不再进行转义。关于转义字符的概念和有关内容请自行查阅资料,本书不做过多介绍。如果字符串中含有反斜线“\”,建议在字符串前面直接加上字母r使用原始字符串。下面几种都是合法的Python字符串。

'Hello world'
'这个字符串是数字"123"和字母"abcd"的组合'
'''Tom said,"Let's go"'''
'''学习就怕满,懒,难, 
心里有了满,懒,难,不看不钻就不前。 
心里去掉满,懒,难,边学边干,蚂蚁也能爬泰山。'''
r'C:\Windows\notepad.exe'

Python 3.x代码默认使用UTF8编码格式,全面支持中文字符。在使用内置函数len()统计字符串长度时,一个汉字和一个英文字母都作为一个字符对待。在使用for循环或类似技术遍历字符串时,每次遍历其中的一个字符,中文字符和英文字符也都作为一个字符来对待。

除了支持双向索引、比较大小、计算长度、切片、成员测试等序列对象常用操作,字符串类型自身还提供了大量方法,如字符串格式化、查找、替换、排版等。本节先简单介绍一下字符串对象的创建、连接、重复、长度和子串测试的用法,更详细的内容请参考本书第3章。

text = '''Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.'''
print(len(text))                 # 字符串长度,即所有字符的数量
print(text.count('is'))          # 字符串中单词is出现的次数
print('beautiful' in text)       # 测试字符串中是否包含单词“beautiful”
print('='*20)                    # 字符串重复
print('Good '+'Morning')         # 字符串连接

运行结果为:

208
6
False
====================
Good Morning