字符串是不可变的,所以字符串不能分片赋值。
输出结果表示str类型的对象不支持更改。
转义字符\n表示换行。下面是一些常用的转义字符
转义字符 | 描述 | 转义字符 | 描述 |
---|---|---|---|
\(在行尾时) | 续行符 | \n | 换行 |
\\ | 反斜杠符号 | \v | 纵向制表符 |
\' | 单引号 | \t | 横向制表符 |
\" | 双引号 | \r | 回车 |
\a | 响铃 | \f | 换页 |
\b | 退格 | \oyy | 八进制数,yy代表字符 |
\e | 转义 | \xyy | 十六进制数,yy代表字符 |
\000 | 空 | \other | 其他字符以普通格式输出 |
字符串格式
字符串格式使用操作符百分号(%)实现。
%左边放置了一个待格式化的字符串,右边放置的是希望格式化的值。格式化的值可以是一个字符串或数字。
在上面的示例中,s表示百分号右边的值会被格式化为字符串,s指的是str。若不是字符串,就会使用str将其转换为字符串。
字符串格式化的方法
符号 | 描述 | 符号 | 描述 |
---|---|---|---|
%c | 格式化字符及其ASCII码 | %f | 格式化浮点数字,可指定精度值 |
%s | 格式化字符串 | %e | 用科学计数法格式化浮点数 |
%d | 格式化整数 | %E | 用科学计数法格式化浮点数 |
%u | 格式化无符号整型 | %g | %f和%e的简写 |
%o | 格式化无符号八进制数 | %G | %f和%E的简写 |
%x | 格式化无符号十六进制数 | %p | 用十六进制数格式化变量的地址 |
%X | 格式化无符号十六进制数(大写) |
在Python中,使用%f时,若不指定精度,则默认输出6位小数。
若需指定两位小数,格式如下
若要输出类似1.23%这样的结果:
在Python中,字符串中的百分号是转换说明符,如果要输出%,就需要格式化字符%,从而需要使用%%。
字符串格式化元组
格式化操作符的右操作数可以是任何元素。如果右操作数是元组,其中每一个元素都会被单独格式化,每个值都需要一个对应的转换说明符。
如果使用列表或其他序列代替元组,序列就会被解释为一个值。只有元组和字典可以格式化一个以上的值。
基本转换说明符
1.%字符:标记转换说明符开始。
2.转换标志(可选):-表示对齐;+表示在转换值之前要加上正负号;“ ”(空白字符)表示正数之前要保留空格;0表示转换值位数不够时用0填充。
3.最小字段宽度(可选):转换后的字符串至少应该具有该值指定的宽度。如果是*,宽度就会从值元组中读出。
4.点(.)后跟精度值(可选):如果转换的是实数,精度值表示出现在小数点后的位数;如果转换的是字符串,该数字就表示最大字段宽度;如果是*,精度就会从元组中读出。
1.简单转换
简单转换只需要写出转换类型
2.字段宽度和精度
转义说明符包括字段宽度和精度。字段宽度是转换后的值所保留的最小字符个数,精度是数字转换结果中应该包含的小数位数或字符串转换后的值所能包含的最大字符个数。
字段宽度和精度都是整数,并通过点号分隔。两个都是可选参数,如果给出精度,就必须包含点号。
可以使用*作为字段宽度或精度(或两者都用*),数值会从元组中读出。
3.符号、对齐和0填充
减号可以用来左对齐数值,如:
此处右侧为多出的空格
空白(“ ”)表示在正数前加上空格,可用来对齐正负数。
加号表示无论是在正数还是负数都表示出符号,也可用于数值的对齐,如:
字符串方法
1.find()方法
find()方法用于检测字符串中是否包含子字符串str。如果指定beg和end范围,就检查是否包含在指定范围内。如果包含子字符串,就返回开始的索引值;否则返回-1 。语法如下:
str.find(str,beg=0,end=len(string))
str代表指定检索的字符串,beg代表开始索引,默认为0;end代表结束索引,默认为字符串的长度。返回结果为子串所在位置的最左端索引。该方法也可接受参数,用于表示起始点和结束点。
2.join()方法
join()方法用于将序列中的元素以指定字符连接成一个新字符串。语法如下:
str.join(sequence)
str代表指定检索的字符串,sequence代表要连接的元素序列。返回结果为指定字符连接序列中元素后生成得新字符串。进行join 操作调用和被调用的对象必须都是字符串,任意一个不是字符串都会报错。
3.lower()方法
lower()方法用于将字符串中所有大写的字符转换为小写。语法如下:
str.lower()
str代表指定检索的字符串,该方法不需要参数。返回结果为字符串中所有大写字符转换为小写后生成的字符串。
对于非英文字符串,lower()方法在处理时可能不如我们的预期。
4.upper()方法
该方法使用类似于lower()方法。
5.swapcase()方法
该方法用于对字符串的大小写字母进行转换。语法如下:
str.swapcase()
str代表检索的字符串,该方法不需要参数。返回结果为大小写字母转换后生成的新字符串。
6.replace()方法
该方法把字符串中的old(旧字符串)替换成new(新字符串),如果指定第三个参数max,替换次数就不吵过max次。语法如下:
str.replace(old,new[,max])
返回结果为字符串中的old替换成new后生成的新字符串。
7.split()方法
该方法用于对字符串进行切片,如果参数num有指定值,就只分割num个子字符串。该方法是join的逆方法。
str.spilt(st="",num=string.count(str))
如果不提供分隔符,程序就会把所有空格作为分隔符。
8.strip()方法
该方法用于移除字符串头尾指定的字符(默认为空格)。语法如下:
str.strip([chars])
chars代表移除字符串头尾指定的字符。返回结果为移除字符串头尾指定的字符生成的新字符。
该方法只去除头尾匹配的字符,中间匹配的字符不会去除。