字符串的基本操作
•python中一共提供了2类4中字符串的表示方法,如果希望在字符串中包含双引号或者单引号。那么如果想表示双引号的话,字符串就用单引号,反之亦然。
•字符串的序号有正向递增序号和反向递减序号
•正向递增从0开始;•反向递减从-1开始;
•索引:返回字符串中单个字符 [M].•切片:返回字符串中的一段字符子串 [M:N]
•高级用法:使用[M:N:K]根据步长对字符串切片•-[M:N],M缺失表示至开头,N缺失表示至结尾•-[M:N:K],表示根据步长K对字符串切片
•例如:“0123456789”[1:8:2]的结果是“1357”•“0123456789”[ : : -1]的结果是“9876543210” 相当于字符串的逆序
•转义符:\(表达字符原有的意思)
•“\b”回退 “\n"换行
字符串的操作符
•x+y 连接两个字符串•nx或x\n 复制n次字符串x•x in s 如果x是s的子串,返回true,否则返回false
例子:获取星期字符串
•输入:1-7的整数,表示星期几•输出:输出整数对应的星期字符串•例如:输入3,输出星期三
#WeekNamePrintV1.py
weekStr = "星期一星期二星期三星期四星期五星期六星期日"
weekId = eval(input("请输入星期数字(1-7):"))
pos = (weekId - 1) * 3
print(weekStr[pos:pos+3])
.
#WeekNamePrintV2.py
weekStr = "一二三四五六日"
weekId = eval(input("请输入星期数字(1-7):"))
print("星期" + weekStr[weekId-1])
字符串处理函数
一些以函数形式提供的字符串处理功能
函数及使用 | 描述 |
len(x) | 长度,返回字符串x的长度 len("123465")结果为6。 无论是汉字,英文字母,标点符号……长度是相同的,都是一个字符 |
str(x) | 任何类型的x所对应的字符串形式 str(1.23)结果为“1.23” |
hex(x)或oct(x) | 整数x的十六进制或八进制小写形式字符串 hex(425)结果为$0x1a9$ oct(425)结果为$0o651$ |
chr(u) | u为Unicode编码,返回其对应的字符 |
ord(x) | x为字符,返回其对应的Unicode编码 |
Unicode编码——Python字符串的编码方式
统一字符编码,即覆盖几乎所有字符的编码方式
从0到1114111(0x10FFFF)空间,每个编码对应一个字符
Python字符串中每个字符都是Unicode编码
字符串的处理方法
“方法”在编程中是一个专有名词
方法特指.()风格中的函数()
方法以及使用 | 描述 |
str.lower()或str.upper() | 返回字符串的副本,全部字符小写/大写 例如"AbCdEfGh".lower()结果为"abcdefgh" |
str.split(sep=None) | 返回一个列表,有str根据sep被分隔的部分组成 "A,B,C".split(",")结果为['A','B','C'] |
str.count(sub) | 返回字符串sub在str中出现的次数 "an apple a day".count("a")结果为4 |
str.replace(old,new) | 返回字符串str副本,所有old子串被替换为new "python".replace("n","n123.io") |
str.center(width,[fillchar]) | 字符串str根据宽度width居中,fillchar可选 "python".center(20,"=")结果为'=======python=======' |
str.strip(chars) | 从str中去掉在其左侧和右侧chars中列出的字符 "= python=".strip(" =np")结果为"ytho" |
str.join(iter) | 在iter变量出最后元素外每个元素后增加一个str ",".join("12345")结果为"1,2,3,4,5" #主要用于字符串的分隔等 |
字符串类型的格式化
格式化是对字符串类型格式表达的方式
• 字符串格式化使用.format()方法,用法如下:.format()
槽
•"{ }:计算机{ }的cpu占用率为{ }%".format("2018-10-10","C",10)
: | <.> | |||||
引导符号 | 用于填充的单个字符 | < 左对齐 > 右对齐 ^ 居中对齐 | 槽设定的输出宽度 | 数字的千位分隔符 | 浮点数小数精度 或字符串最大输出长度 | 整数类型b,c,d,o,x,X 浮点数类型 e,E,f,% |
•>>>"{0:=^20}".format("PYTHON") '========PYTHON========'• >>> "{0:*>20}".format("BIT") '*****************BIT'• >>> "{0: , .2f}".format(123456.6789) '12,345.68'