3.1.2字符串(strings)
字符串可以使用单双引号表示(' 和"),\可以将单双引号转义为普通字符。python可以对字符串做很多的操作,举个栗子:
解释器用单引号输出字串,使用反斜线(\)来转义特殊字符。这可能有些时候让字符串看起有些怪。如果在字符串的内部包含单引号,字符串的输出就会使用单引号。print()函数会省略引号,和转义字符让输出看起来更可读一些:
如果不想反斜线(\)作为转义字符使用,可以使用原字符(raw string反正在python中rinput是很常用的,尤其是在正则表达式中):
有时候我们需要多行的字符串,可以使用"""something"""或者'''something''',这俩货都会自动给你加终止符,你可以用反斜线让他不这么干,看看下面俩个例子的区别:
在写每一行的时候咱们没在后面加上\n,但是输出的时候就会体现出来。字符串还可以用+链接,用*来重复链接多个同样的字符串:
相邻的字符串会自动合成一个(在输出的时候,并不是有新的字符串出现):
这个只能是两个字符串用明文表示的时候才可用,不能将一个变量接一个明文字符串这么使用:
这个功能主要是在你想将一个非常长的字符串分行写的时候起作用:
字符串的本质其实也是个由字符组成的链表,与链表相同第一个字符索引从0开始计算(这种计数方式很有用,因为如果从1开始记,我们使用负数来从后索引的时候第一个会有两个索引值-0和1):
同样他也用链表按范围选取的功能:
冒号前面的表示起始位置,后面表示终止位置,不过不填写则表示到他能索引的尽头。在使用范围索引的时候是可以让范围超出字符串的真实范围的,但这没有什么意义:
另外,虽然字符串和链表功能差不多,但是一个字符串是不可改变的:
看!我想把第一个字符改成J,让word变成Jython,但显然这是不可以的。string有一个内建函数可以统计字符数量len():