一、字符串的表示方法

1.使用单引号,例如:
print('Python字符串')

2.使用双引号,例如:
print("Python字符串")

3.如果希望在字符串中包含双引号,
             例如:print('字符串中有双引号(")')   
反例(注意颜色区别):print("字符串中有双引号(")")

4.如果希望在字符串中包含单引号,
             例如:print("字符串中有单引号(')")
反例(注意颜色区别):print('字符串中有单引号(')')

5.如果希望在字符串中既有单引号又有双引号,例如:
print('''字符串中有单引号(')又有双引号(")''')

注意:Python中本没有多行注释,但是在Python中,对于没有赋值给变量的字符串
不做任何操作,因此,可以使用'''一对三个单引号 '''来达到多行注释的效果

二、字符串的使用

Python中的n个元素字符串支持从前往后的从0开始的递增访问
即 t[0],t[2],...,t[n-1]

   也支持从后往前的从-1开始的递减访问
即 t[-n],t[-n+1],...,t[-2],t[-1]

其中:t[0]==t[-n],...,t[n-1]==t[-1]

1.索引:返回字符串中单个字符  
<字符串>[M] 打印字符串第M个元素

t = "Python字符串"
print(t[0])              打印 P    print(t[-1])  打印  串
print("Python字符串"[0])  打印 P    print("Python字符串"[-1])  打印  串

2.切片:返回字符串中一段字符子串(要前不要后)
<字符串>[M:N] 取字符串M到N-1号元素,即不包括N号元素
<字符串>[M:]  取字符串从M开始之后的全部元素,包括M
<字符串>[:M]  取字符串从开始到M-1的全部元素,不包括M
<字符串>[:]   取整个字符串

3.切片的高级用法
<字符串>[M:N:K] 根据步长K进行切片
例如: t = "0123456789"
      t[1:8:2] 结果是"1357"
      t[::-1]  结果是"9876543210"

4.字符串的特殊字符
转义符 \
-转义符表达特定字符的本意
例如: print("字符串中有双引号(\")")打印的结果是: 字符串中有双引号(") 
{可以对比一下print("字符串中有双引号(")") 注意颜色的区别}
-转义符形成的部分常见组合,表达不可打印的含义
"\b"回退   "\n"换行(光标移到下行行首)   "\r"回车(光标移到本行行首)

三、字符串处理函数

函数及使用

描述

len()

长度,返回字符串x的长度,len(“123456”) 结果为6

str(x)

任意类型x转换为字符串形式,

str(1.23)结果为"1.23" , str([1,2])结果为"[1,2]"

hex(x)

将整数x对应的十六进制表出

oct(x)

整数x对应的八进制表出

chr(u)

u为Unicode编码,返回其对应的字符

ord(x)

x为字符,返回其对应的Unicode编码

str.lower()

返回字符串的副本,全部字符小写,

“AbCdEf”.lower()结果为"abcdef"

str.upper()

返回字符串的副本,全部字符大写,

“AbCdEf”.upper()结果为"ABCDEF"

str.split(sep=None)

返回一个列表,由str根据sep被分隔的部分组成,

“A:B:C”.split(’:’) 结果为[‘A’, ‘B’, ‘C’]

str.count(sub)

返回sub在子串str中出现的次数,

“ab ac ae af”.count(“a”)结果为4

str.replace(old,new)

返回字符串str副本,所有的old子串被替换为new,

“ab ac”.replace(“a”,“i”)结果为"ib ic"

str.center(width[,fillchar])

字符串str根据宽度width居中,fillchar可选,

“Python”.center(20,"+")结果为"+++++++Python+++++++"

str.strip(chars)

从str中去掉在其左侧和右侧chars中列出的字符,

"= Py=thon=".strip(" =nP")结果为 “y=tho”

str.join(iter)

在iter变量除最后元素外每个元素后增加一个str,

",".join(“123”)结果为"1,2,3",主要用于字符串分隔等

四、字符串类型的格式化

1、槽 {}

"{0}:{1}:{2}".format(2020,"01","07") 结果为 2020:01:07
"{2}:{1}:{0}".format("07","01",2020) 结果为 2020:01:07

2、format()方法的格式控制
槽内部对格式化的配置方法{<参数序号> : <格式控制标记>}

:

<填充>

<对齐>

<宽度>

<,>

<.精度>

<类型>

引导符号

用于填充的单个字符

<左对齐

>右对齐 ^居中对齐

槽设定的输出宽度

数字的千位分隔符

浮点数小数精度 或字符串最大输出长度

整数类型b,c,d,o,x,X

浮点数类型e,E,f,%

例如:
"{0:=^20}".format("PYTHON") 结果为 "=======PYTHON======="
"{0:*>10}".format("best")  结果为"******best"
"{:10}".format("best")  结果为"best     "   #默认左对齐,填充空格

"{0:,.2f}".format(12345.6789) 结果为"12,345.68"

"{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(666) 
 结果为 "1010011010,ʚ,666,1232,29a,29A"
 
"{0:e},{0:E},{0:f},{0:%}".format(6.66)
结果为 "6.660000e+00,6.660000E+00,6.660000,666.000000%"