str python3_python3之字符串(string)

一、字符串

字符串是Python中最常用的数据类型

Python中的字符串必须用引号括起来,单引号或双引号都可以,两者没有任何区别

字符串是不可更改类型

1 普通字符串

str = 'value'str= "value"str= '''value'''str= """value"""三个引号时,字符串的值可以跨行

2  转义字符

\(在行尾时) 续行符

\\ 反斜杠符号(\)

\'单引号

\"双引号

\n 换行

\t 横向制表符

\r 回车

\a 响铃

\b 退格

\000或\0 空

\v 纵向制表符

\f 换页

\0yy yy是两个八进制数,\012表示换行

\xyy yy是两个十六进制数,\x0a表示换行

\other other是除以上列举的其它字符,其它字符则以普通格式输出

3 原始字符串

把转义字符当做普通字符处理

str= r'value'value按照字面的意思使用,没有转义特殊或不能打印的字符

原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法

二、字符串操作

1 索引

str = r'https://docs.python.org/release/3.8.4/tutorial/introduction.html'

#从str中取出index=4的单个字符

str[4]#从str取出倒数第8个字符,最右边字符的index=-1

str[-8]#切片,从str取出index范围为[6,15)(不包括15)的子字符串

str[6:15]#切片,从str取出index范围为[3,-4)(不包括-4)的子字符串

str[3:-4]#切片,从str取出index范围为[-7,-2)(不包括-2)的子字符串

str[-7:-2]

单个字符时,超出索引会引发IndexError异常

切片时,超出索引不会引发异常

2  运算

str1 = 'asdTE'str2= 'QAZcd'

#字符串拼接

str3 = (str1 +str2)#重复字符串4次

str4 = str1 * 4

#获取字符串的长度

len(str4)#判断字符串是否包含子字符串,包含返回 True,否则返回 False

'dT' instr1'ASQW' instr1#判断字符串是否不包含子字符串,不包含返回 True,否则返回 False

'QAZ' not instr2'RTY' not in str2

三、字符串方法

1 计数、格式转化

str.center(width, fillchar)#字符串两边填充字符并居中,返回长度为width的字符串#width: 宽度,整数,小于等于len(str),返回str#fillchar: 可选参数,填充字符,默认空格

str.count(sub, start, end)#[start, end)范围内(不包括end),返回子字符串sub在字符串中出现的次数#start,end: 可选参数,默认范围 range(0,len(str))

str.encode(encoding='utf-8', errors='strict')#返回以encoding编码格式的字节串#encoding: 编码格式,默认utf-8#errors: 编码错误时处理方案,默认strict: 编码错误会引发 UnicodeError 异常,其他值: 'ignore', 'replace', 'xmlcharrefreplace', 'backslashreplace'

str.format(*args, **kwargs)#字符串格式化

2 开头、结尾

str.endswith(suffix, start, end)#[start, end)范围内(不包括end),字符串是否以suffix结尾,若是返回 True,否则返回 False#start, end: 可选参数,默认范围 range(0,len(str))

str.startswith(prefix, start, end)#[start, end)范围内(不包括end),字符串是否以prefix开头,若是返回 True,否则返回 False#start, end: 可选参数,默认范围 range(0,len(str))

3 查找、替换

str.find(sub, start, end)#[start, end)范围内(不包括end),返回子字符串sub第一次出现的索引值,否则返回-1#start, end: 可选参数,默认范围 range(0,len(str))

str.index(sub, start, end)#类似于str.find(),但是找不到子字符串sub时会引发 ValueError 异常

str.replace(old, new, count)#返回 new 替换 old 后的字符串,不改变原来的字符串#count: 最多替换次数,默认替换所有

4 判断

str.isalnum()#字符串非空,且所有字符都是字母或数字,返回 True,否则返回 False

str.isalpha()#字符串非空,且所有字符都是字母,返回 True,否则返回 False

str.isascii()#字符串空,或者所有字符都是ASCII,返回 True,否则返回 False

str.isdecimal()#字符串非空,且所有字符都是十进制字符,返回 True,否则返回 False

str.isdigit()#字符串非空,且所有字符都是数字,返回 True,否则返回 False

str.isnumeric()#字符串非空,且只包含数字字符,则返回 True,否则返回 False

str.islower()#字符串至少包含一个区分大小写的字符,且所有字符都是小写,返回 True,否则返回 False

str.istitle()#字符串至少包含一个区分大小写的字符,且每个单词首字母都是大写,返回 True,否则返回 False

str.isupper()#字符串至少包含一个区分大小写的字符,且所有字符都是大写,返回 True,否则返回 False

str.isspace()#字符串非空,且字符串中只有空白字符,返回 True,否则返回 False

5 大小写

str.title()#返回将字符串每个单词首字母大写后的新字符串,不改变原来的字符串

str.lower()#返回将字符串所有字母小写后的新字符串,不改变原来的字符串

str.upper()#返回将字符串所有字母大写后的新字符串,不改变原来的字符串

6 删除

str.strip(chars)#返回删除字符串前后(不包括中间)包括chars所有组合后的新字符串,不改变原来的字符串#chars: 要删除的字符的所有组合,默认空格

str.lstrip(chars)#返回删除字符串前面(左边)包括chars所有组合后的新字符串,不改变原来的字符串#chars: 要删除的字符的所有组合,默认空格

str.rstrip()#返回删除字符串后面(右边)包括chars所有组合后的新字符串,不改变原来的字符串#chars: 要删除的字符的所有组合,默认空格

7 分隔、拼接

str.split(sep=None, maxsplit=-1)#使用分隔符sep将字符串分隔,并返回一个列表#sep: 分隔符#maxsplit: 分割字符串的长度,未指定maxsplit或-1则分割全部字符串#如:'I am boy'.split('a')输出['I ', 'm boy']

str.join(iterable)#将iterable中所有的元素以str作为分隔符合并拼接,并返回为一个新的字符串#iterable包含任何非字符串值时(包括字节串),会引发 TypeError 异常#如: '-'.join(['a','b','c'])输出a-b-c

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值