Python3之字符串

Python3之字符串

基础内容

  • 创建:为变量分配一个值即可
    • 单行:‘xxx’ 或 “xxx”
    • 多行:""" 或 ‘’’
  • 访问:使用方括号来截取字符串,var[i], var[:]
  • 不支持单字符类型,单字符也作为一个字符串
  • 所有字符串都是 Unicode 字符串

转义字符

在字符串中使用特殊字符时,用反斜杠 \ 转义字符

转义字符描述
\(在尾行时)续行符
\\反斜杠
\’单引号
\"双引号
\a响铃
\b退格(Backspace)
\e转义
\000
\n换行
\v纵向制表符
\t横向制表符
\r回车
\f换页
\oyy八进制数,yy 代表的字符,如 \o12代表换行
\xyy十六进制数, yy 代表的字符
\other其它的字符以普通格式输出

运算符

操作符描述
+连接
*重复
[]通过索引获取字符
[ : ]截取一部分,[start, end),[:]表示全部
in包含给定字符返回True
not in不包含给定字符返回False
r/R原始字符串,没有转义特殊或不能打印的字符, r"xxx", r’xxx’
%格式字符串

格式化

将一个值插入到一个有字符串格式符的字符串中
“xxxxxx” % (xx, xx, …)

  • 格式化符号:
符号描述
%c格式化字符及其ASCII码
%s格式化字符串
%d格式化整数
%u格式化无符号整型
%o格式化无符号八进制数
%x, %X格式化无符号十六进制数
%f格式化浮点数字,可指定小数精度
%e, %E用科学计数法格式化浮点数
%g%f 和 %e 的简写
%G%f 和 %E 的简写
%p用十六进制数格式化变量的地址
  • 辅助指令
符号描述
*定义宽度或者小数点精度
-左对齐
+在整数前面显示加号(+)
< sp >在整数前面显示空格
#在八进制数前面显示零(‘0’),在十六进制前面显示’0x’或者’0X’(取决于用的是’x’还是’X’)
0显示的数字前面填充’0’
%‘%%‘输出一个单一的’%’
(var)映射变量(字典参数)
m.n.m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)

其它:格式化字符串的函数 str.format(),通过 {} 和 : 代替 %

内建函数

  • len(str)
    • 字符串长度
  • max(str)
    • 返回字符串中的最大字符(ASCII码最大)
  • min(str)
    • 返回字符串中的最小字符(ASCII码最小)

大小写相关:

  • str.capitalize()
    • 首字符大写,其它小写
    • 若首字符非字符,则全转成小写
  • str.lower()
    • 转换所有大写字符为小写
  • str.swapcase()
    • 对字符串的大小写字母进行转换
  • str. title()
    • 所有单词都首字母大写,其它小写
  • str.upper()
    • 将字符串中的小写字母转为大写字母

填充、截取相关:

  • str.center(width, fillchar)
    • 返回指定宽度 width 居中的字符串
    • width < len(str),则返回 str
    • 使用 fillchar 填充,默认为空格
    • fillchar 为单字符
  • str.ljust(width[, fillchar])
    • 字符串左对齐,使用字符填充至指定长度
    • width < len(str), 则返回原字符串
    • fillchar:填充字符,默认为空格
  • str.rjust(width [, fillchar])
    • 字符串右对齐,使用字符填充至指定长度
    • width < len(str), 则返回原字符串
    • fillchar:填充字符,默认为空格
  • str.zfill(width)
    • 返回指定长度的字符串,原字符串右对齐,前面填充0
    • width < len(str), 则返回原字符串
    • 等同 str.rjust(width, “0”)
  • str.lstrip([chars])
    • 截掉字符串左边的空格或指定字符
  • str.rstrip([chars])
    • 截掉字符串右边的空格或指定字符
  • str.strip([chars])
    • 截掉字符串头尾指定的字符,默认为空格

查找相关:

  • str.count(sub, start=0, end=len(str))
    • 统计字符串里某字符出现的次数
    • sub 搜索的子字符串
  • str.startswidth(suffix, start=0, end=len(str))
    • 判断是否以指定后缀开头
    • suffix:一个字符串或一个元素
  • str.endswith(suffix, start=0, end=len(str)
    • 判断是否以指定后缀结尾
    • suffix:一个字符串或一个元素
  • str.find(str, start=0,end=len(str))
    • 检测是否包含子串
    • 包含则返回起始位置的索引,否则返回 -1
  • str.rfind(sub, start=0, end=len(str))
    • sub:查找的字符串
    • 返回最后一次出现的位置,没有则返回 -1
  • str.index(str, beg=0,end=len(string))
    • 作用同 find()
    • 不包含时抛出异常

替换相关:

  • str.expandtabs(tabsize=8)
    • 把字符串中的 tab 符号(’\t’)转为空格
  • str.replace(old, new [, max])
    • 将old替换成new, 不超过max次

连接、分隔:

  • str.join(seq)
    • 将序列中的元素以指定的字符连接生成一个字符串
    • str:连接的字符
    • seq:要连接的序列,包括字符串(连接单字符)、集合、元组、字典(连接 key )
    • seq 中的元素必须是字符串,否则会报错
  • str.split(splitstr="", num=string.count(str))
    • 通过指定分隔符对字符串进行切片
    • splitstr:分隔符,默认为所有空字符,包括空格、换行、制表符
    • num:分割次数,分隔为 num+1 个子字符串
  • str.splitlines([keepends])
    • 按照行(’\r’, ‘\r\n’, ‘\n’)分隔
    • 返回一个包含各行作为元素的列表
    • keepends:是否保留换行符

判断组成:

  • str.isalnum()
    • 是否由字母和数字组成
    • 至少有一个字符,且都是字母和数字,返回 True
  • str.isalpha()
    • 是否只由字母组成
    • 至少有一个字符,且都是字母,返回 True
  • str.isdigit()
    • 是否只由数字组成
    • 至少有一个字符,且都是数字,返回 True
  • str.islower()
    • 是否由小写字母组成
    • 至少有一个区分大小写字符,且其都是小写字母,返回 True
  • str.isnumeric()
    • 是否只由数字组成,仅针对 unicode 对象
    • 至少有一个字符,且都是数字,返回 True
  • str.isdecimal()
    • 检查是否只包含十进制字符,仅对 unicode 对象
  • str.isspace()
    • 是否只由空白字符组成
  • str.istitle()
    • 是否所有单词拼写均为首字母大写,其它小写
  • str.isupper()
    • 是否所有字母都大写
    • 至少一个区分大小的字符,且其都是大写,返回 True

编码相关:

  • bytes.decode(encoding=“utf-8”, errors=“strict”)
    • 以指定的编码格式解码 bytes 对象
    • errors 的可能值:‘strict’, ‘ignore’, ‘replace’, ‘xmlcharrefreplace’, ‘backslashreplace’ 以及通过 codecs.register_error() 注册的任何值
  • str.encode(encoding=‘UTF-8’, errors=‘strict’)
    • 以指定的编码格式编码 bytes 对象
    • errors 同 decode()

翻译替换:

  • (str 或 bytes 或 bytearray).marktrans(intab, outtab)
    • 创建字符映射的转换表
    • intab:字符串中要替代的字符组成的字符串
    • outtab:相应的映射字符的字符串
    • 两者长度相同,一一对应
  • (str 或 bytes 或 bytearray).translate(table[, delete])
    • 根据 table 给出的表转换字符串的字符,根据delete过滤字符
    • table:翻译表,通过maketrans()转换而来
    • delete:字符串中要过滤的字符列表
intab = "aeiou"
outtab = "12345"
trantab = str.maketrans(intab, outtab)

str = "this is string example....wow!!!"
print (str.translate(trantab))          # th3s 3s str3ng 2x1mpl2....w4w!!!

内容来源:http://www.runoob.com/python3/python3-string.html

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值