git
既然如此,为什么同时支持单引号和双引号呢?由于你可能遇到以下状况:api
这里就体现出单双引号的做用,若是只使用单引号或者双引号,在执行如上其中一种状况的时候,解释器就会报错。ide
除了单引号和双引号,三引号也是一个很是好用的定义方法,它的用法和三引号注释是相同的,也是能够支持将多行扩起,单引号和双引号只能定义在同一行内。函数
字符串既是一个类型也是一个方法,str()就是一个工厂函数,它会把括号内的值转化成字符串,可是这个转化过程也不是什么都无脑转化,它遵循了字符串的一些方法。好比str()会自动识别字符串中的单引号或者双引号,以做为字符串结束的标志,而当str()找到换行符和制表符以后,也不会按照原样将它们输出。编码
好比说你想让解释器输出s\nb,小牛逼,而后str()识别到"\n"就做为换行符输出了,结果就变成了傻逼。。。通常状况下把\n做为换行符代替回车键是很方便的,可是当你真的想让解释器打出'\n'的时候就要用到特殊的方法了。spa
反斜杠是让斜杠后面的一个可让str()启动神秘功能的特殊字符失去特殊做用,变成通常的字符。它遵循从左到右的运算顺序。好比说我在"\n"前面加上反斜杠,"\n"也就不做为换行符被str()执行换行操做了,它会变成通常字符"\n"输出。3d
值得注意的是,反斜杠出如今特殊字符前面会隐形,而出如今通常字符的前面会做为普通的字符输出。code
想要输出两个\的话,由于\自己也是特殊字符,因此"\\"的前面一个反斜杠会把后面的反斜杠做为特殊符号转义成通常符号,它本身则在输出的时候隐形了,若是想要输出两个反斜杠的话,要打三个或者四个反斜杠。orm
通常使用反斜杠让制表符、换行符、反斜杠本身、单双引号的魔法失灵,从而做为普通字符来输出它们。blog
原始字符串就是告诉计算机,一切开始简单粗暴,我输入什么,就给我输出什么,可是要注意不要以反斜杠结尾,由于反斜杠会让最后一个引号失去标记结尾的做用,致使str()没法识别结尾,以致于报错。
1.按索引取值
>>> s='string' >>> s[0] 's' >>> s[1] 't' >>> s[-1] 'g'
-1是最后一位,索引支持从后往前取值。
2.切片
>>> s='string' >>> s[1:3] 'tr' >>> s[3:1:-1] 'ir'
切片是顾头不顾尾的,也就是取不到结尾索引的位置。永远在结尾索引的前一位就截止了。
切片最后一个参数是步长,能够为正也能够为负。
3.长度len
字符串元素的个数。
4.成员运算in和not in
判断一个子字符串是否存在于大字符串中
5.移除空白strip: 用来去除字符串左右两边的字符,不指定默认去除的是空格
>>> s=' string ' >>> s.strip() 'string' >>> s=' ***string*** ' >>> s.strip('*') ' ***string*** ' # 当指定字符时,则不清楚空格\换行符,只清楚指定的字符。
6.切分split:针对有规律的字符串,按照某种分隔符切成列表
>>> s='a|b|c|d|e|f|g' >>> s.split('|') ['a', 'b', 'c', 'd', 'e', 'f', 'g']
7.join:列表拼接成字符串
>>> '_'.join(['a', 'b', 'c', 'd', 'e', 'f', 'g']) 'a_b_c_d_e_f_g'
8.lower,upper大小写转化
>>> 'ABC'.lower() 'abc' >>> 'abc'.upper() 'ABC'
9.startswith,endswith 断定字符串开头和结尾是不是某个子字符串
>>> 'abcaaaaa'.startswith('abc') True >>> 'abcaaaaa'.endswith('a') True
10.format的三种玩法
1.按位传参
2.关键字传参
3.按索引传参
11.replace(old,new)
Return a copy with all occurrences of substring old replaced by new.
12.isdigit等数字判别
isdigit 断定一个字符串是不是纯阿拉伯数字,可断定Unicode和Bytes编码
isdecimal 断定Unicode编码的阿拉伯数字
isnumberic 断定中文、罗马、阿拉伯数字
13.find 输出子字符串在字符串中第一个索引
>>> '123456'.find('56') 4
14.center,ljust,rjust,zfill 填充
15.captalize,swapcase,title
>>> 'abcdef dddddd'.capitalize() # 句首字母大写 'Abcdef dddddd' >>> 'abcAef dddddd'.swapcase() # 大小写反转 'ABCaEF DDDDDD' >>> 'abcAef dddddd'.title() #单词首字母大写 'Abcaef Dddddd'