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