字符串使用固定不变的str数据类型表示,存放Unicode字符序列
字符串可以用单引号也可以用双引号以及三引号,但是字符串两端必须相同
字符串分片与步距
操作符[]不仅局限于提取一个数据项或字符,还可以提取或字符的整个分片(子序列)
提取单个字符
字符串的索引位置从0开始,使用负索引位置是从最后一个字符到第一个字符,-1总是代表字符串的最后一个字符,存取超过范围的索引位置会产生IndexError异常
分片操作符
其中seq可以是任意序列,如列表,字符串或元祖,strat,end,step必须是整数
seq[start]:从序列中提取从start开始的数据项
seq[start:end]:从start开始(包含)到end结束的数据项(不包含)
如果忽略起点索引值,就默认为0;如果忽略终点索引,默认为len(seq);如果忽略了两个索引值s[:],等同于s[0:len(s)],作用为复制整个序列
seq[start:end:step]:每个step进行提取
如果忽略起点索引,且给定的step为负,起点索引默认为-1
如果忽略终点索引,且给定的step为负,终点索引值默认我I额字符串起点
同时step不能忽略,且不能为0
如:s=”he ate camel food”
s[::-2]==’do ea t h’
从该字符串的最后一个字符开始,向起点方向,每个2个字符进行提取(中间隔一个)
字符串操作符与方法
len()函数返回字符串的字符数,如果字符串为空,返回0
str.join()函数实现字符串连接,该方法一个序列作为参数(字符串列表或字符串元祖),将其连接在一起存放在一个单独的字符串中,并将调用该方法的字符串作为分隔物添加在每两项之间。
treatises=[“Arithmetrica”,”Conics”,”Elements”]
“ ”.join(treatises)
结果:’Arithmetrica Conics Elements’
“”.join(treatises)
结果:’ArithmeticalConicsElements’
“<>”.join(treatises)
结果:Arithmetical<>Conics<>Elements
str.index()返回子字符串的索引位置,失败时产生valueerror异常
str.find()返回子字符串的索引位置,失败时返回-1
两种方法都要把寻找的字符串作为第一个参数,还有两个可选的参数,第二个是待搜索字符串的起始位置,第三个是终点位置
str.format()字符串格式化
str.format()方法返回一个新的字符串,在新字符串中,原字符串中的替换字段被适当格式化后的参数所替代。每个替换字段都是由包括在花括号中的字段名标识的,如果字段名是简单的整数,就被作为传递给str.format()方法的一个参数的索引位置,名为0的字段被第一个参数替代,1的字段被第二个参数替代。
连接字符串与数字
连接字符串
使用字段名
字段名可以引用集合数据类型,可以包含一个索引来标识特定的数据项
0引用的是位置参数,因此{0[1]}是列表stock参数的第二个数据项。
格式规约
字符串规约使用冒号引入,其后跟随可选的字符对-一个填充字符(可以不是,如果指定了填充字符,要同时指定对齐字符),一个对齐字符(<用于左对齐,^用于中间对齐,>用于右对齐),之后跟随的是可选的最小宽度(整数),如果需要指定最大宽度,就在其后使用句点,句点后跟一个整数值。
整数格式规约使用冒号引入,其后跟随可选的字符对-一个填充字符(如果指定了填充字符,要同时指定对齐字符),一个对齐字符(<用于左对齐,^用于中间对齐,>用于右对齐,=用于在符号与数字之间填充),之后跟随的是可选的符号字符(+表示必须输出符号,-只输出负数符号,空格表示正数输出空格),再之后跟随可选的最小宽度整数值(前面可使用#字符引导,作为某种基数进制的前缀,b二进制,o八进制,x十六进制,d十进制,c输出整数对应的Unicode字符,n以场所敏感的方式输出数字)
整数格式规约使用冒号引入,其后跟随可选的字符对-一个填充字符(如果指定了填充字符,要同时指定对齐字符),一个对齐字符(<用于左对齐,^用于中间对齐,>用于右对齐,=用于在符号与数字之间填充),之后跟随的是可选的符号字符(+表示必须输出符号,-只输出负数符号,空格表示正数输出空格),再之后跟随可选的最小宽度整数值(前面可使用#字符引导,作为某种基数进制的前缀,b二进制,o八进制,x十六进制,d十进制,c输出整数对应的Unicode字符,n以场所敏感的方式输出数字)
整数格式规约使用冒号引入,其后跟随可选的字符对-一个填充字符(如果指定了填充字符,要同时指定对齐字符),一个对齐字符(<用于左对齐,^用于中间对齐,>用于右对齐,=用于在符号与数字之间填充),之后跟随的是可选的符号字符(+表示必须输出符号,-只输出负数符号,空格表示正数输出空格),再之后跟随可选的最小宽度整数值(前面可使用#字符引导,作为某种基数进制的前缀,b二进制,o八进制,x十六进制,d十进制,c输出整数对应的Unicode字符,n以场所敏感的方式输出数字)