4.2.1 介绍
String(字符串):用单引号(')或双引号(")括起来,同时使用反斜杠(\)转义,索引值以 0 为开始值,-1 为从末尾的开始位置
str='Runoob'
print(str) ##输出字符串
print(str[0:-1]) ##输出第一个到倒数第二个的所有字符
print(str[0]) ##输出字符串第一个字符
print(str[2:5]) ##输出从第三个开始到第五个的字符
print(str[2:]) ##输出从第三个开始的后的所有字符
print(str * 2) ##输出字符串两次
print(str + '你好') ##连接字符串
print('------------------------------')
print('hello\nrunoob') ##使用反斜杠(\)+n,转义特殊字符
print(r'hello\nrunoob') ##在字符串前面添加一个 r,表示原始字符串,不会发生转义
> Runoob
> Runoo
> R
> noo
> noob
> RunoobRunoob
> Runoob你好
> ------------------------------
> hello
> runoob
> hello\nrunoob
4.2.2 字符串操作
+ [M: N],M缺失表示至开头,N缺失表示至结尾
+ [M: N: K],根据步长K对字符串切片
+ x + y ---连接两个字符串x和y
+ n * x 或 x * n ---复制n次字符串x
+ x in s ---如果x是s的子串,返回True,否则返回False
# 输出数字后输出星期
w="星期一星期二星期三星期四星期五星期六星期日"
n=(eval(input('请输入[0-7]之间的数字'))-1)*3
print(w[n:n+3])
4.2.3 字符串方法
+ len(x)---长度,返回字符串x的长度------len("一二三456") 结果为 6
+ str(x)----任意类型x所对应的字符串形式----str(1.23)结果为"1.23" str([1,2])结果为"[1,2]"
+ hex(x) 或 oct(x)----整数x的十六进制或八进制小写形式字符串------hex(425)结果为"0x1a9" oct(425)结果为"0o651"
+ chr(u)------x为Unicode编码,返回其对应的字符
+ ord(x)----- x为字符,返回其对应的Unicode编码
+ str.lower() 或 str.upper()-------返回字符串的副本,全部字符小写/大写
+ str.split(sep=None)--------返回一个列表,由str根据sep被分隔的部分组成
+ str.count(sub)-------返回子串sub在str中出现的次数-------
+ str.replace(old, new)-------返回字符串str副本,所有old子串被替换为new
+ str.center(width[,fillchar])------字符串str根据宽度width居中,fillchar可选
+ str.strip(chars)----从str中去掉在其左侧和右侧chars中列出的字符
+ str.join(iter)------在iter变量除最后元素外每个元素后增加一个str
"AbCdEfGh".lower() 结果为 "abcdefgh"
"A,B,C".split(",") 结果为 ['A','B','C']
"a apple a day".count("a") 结果为 4
"python".replace("n","n123.io") 结果为```python123.io```
"python".center(20,"=") 结果为```=======python=======```
"= python= ".strip(" =np") 结果为```ytho```
",".join("12345") 结果为```"1,2,3,4,5"```----**主要用于字符串分隔**
4.2.4 转义字符
转义字符 描 述
\(在行尾时) 续行符
\\ 反斜杠符号
\' 单引号
\" 双引号
\a 响铃
\b 退格(Backspace)
\e 转义
\000 空
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\oyy 八进制数,yy代表的字符,例如:\o12代表换行
\xyy 十六进制数,yy代表的字符,例如:\x0a代表换行
\other 其它的字符以普通格式输出
4.2.5 字符串格式化
符号 描述
%c 格式化字符及其ASCII码
%s 格式化字符串
%d 格式化整数
%u 格式化无符号整型
%o 格式化无符号八进制数
%x 格式化无符号十六进制数
%X 格式化无符号十六进制数(大写)
%f 格式化浮点数字,可指定小数点后的精度
%e 用科学计数法格式化浮点数
%E 作用同%e,用科学计数法格式化浮点数
%g %f和%e的简写
%G %f 和 %E 的简写
%p 用十六进制数格式化变量的地址
4.2.6 转换
##str >>>list
s = '32f'
l = list(s)
print(l)
>['3', '2', 'f']
##str >>>tuple
s = '32f'
t = tuple(s)
print(t)
>('3', '2', 'f')
##list >>>str
l = ['3', '2', 'f']
m = ''.join(l) ##列表和元组转换为字符串则必须依靠join函数
n = '.'.join(l)
print(m, n)
>32f 3.2.f
##tuple >>>str
t = ('3', '2', 'f')
e = ''.join(t) ##列表和元组转换为字符串则必须依靠join函数
f = 'd'.join(t)
print(e, f)
>32f 3d2df