一、字符串的表示方法
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%"