Photo by adam-jang
Python 中有六种标准数据类型:
String(字符串)
Number(数字)
List(列表)
Tuple(元组)
Sets(集合)
Dictionary(字典)
今天讲一下字符串。
字符串是什么呢?
书本上说,字符串就是放在引号里面的一系列字符。我觉得用人话不严谨的说,就是标点符号和字母文字组成的那些单词、句子,比如:
但记住一定要用引号引起来,不然就是变量名了对吧。
引号只是告诉 Python,引号中间的内容是字符串而已,引号本身并不会真正显示出来,只有引号中的字符会显示出来。
单引号和双引号都可以,但是必须前后匹配,不能开始用单引号,结束用双引号。 为什么单双引号都可以呢?是为了方便很多特殊情况:比如:
上面这句话中有三个单引号,第二个应该被显示出来,但 Python 以为第二个代表字符串结束了,以为第三个单引号代表新的字符串开始,但没找到结束的单引号,所以报错。正确写法是:
第一个和第三个双引号匹配,中间的单引号就会被 Python 认为是正常的字符显示出来了。
字符串是可以合并的比如:
可以用加号,把多个字符串连成一个。注意 hello 的 o 后面有个空格,否则连接的字符串,Hello 和 ZackGuo510之间就没有空格了。 不过据说这种方法很占内存,不建议使用。
转义字符
在需要在字符中使用特殊字符时,Python用反斜杠()转义字符,比如:
\n 代表换行
\加单引号 可以显示单引号,还是刚才那个例子,这样做也行:
\t 横向制表符(也叫进格符),相当于按 tab 键的效果,可以产生空格:
注意,它产生的并不是一个空格,那么用 \t 跟直接按空格键制造空格有什么区别呢?书上没说,我查了好久才找到一个说得清楚的资料,分享一下: http://www.kidscode.cn/archives/2870
原始字符串
有时候,你就是想写一个普通的\,并不想把它当做转义字符用,你可以使用“原始字符串”,方法是在第一个引号前面加上一个 r:
转义字符还有很多,不再列举。
用 index 拿字符中的一部分
index 就是一个位置顺序、索引,比如:
共4个字母,从第1个到第4个依次是z,a,c,k。但是 index 是从0开始数,所以 z 的 index 是0,a 的 index 是1,以此类推。
比如我们只想打印 ac:
1代表开始的 index,包含这一位,3代表结束的 index,不包含这一位,所以[1:3] 就是取 index 是1和2的字符,也就是 ac。
负数可以表示从后往前数,-1代表最后一个字母,但不包含最后一个字母:
只填一个 index 就只拿这个字符:
字符串的方法
方法,也叫函数,是 Python 对数据执行的操作,不同类型的数据,对应有不同的方法。
我用人话翻译翻译,你可以这么想,水果对应的有搅拌机,能把水果变成果汁;纸对应的有粉碎机,把纸变成纸屑。字符串对应的也有很多方法,比如把字符变成大写的等等:
upper() 方法,把字符串变大写:
lower() 方法,把字符串变小写:
title() 方法,把字符串中每个单词变首字母大写:
strip() 方法,删掉字符前后多余的指定字符,不填的话默认删掉空格(大家知道 strip 这个词的意思吧,还真是贴切呢^_^):
find() 方法,查找某字符在不在字符串从start到end的范围中,如果存在的话返回index,不存在返回-1。也可以不指定范围,就全文查找。
join(seq) 把字符插入到要连接的元素序列、字符串、元组、字典中,形成一个新的字符串(如果你现在不知道元组、字典是什么没关系,以后会知道的)
count() 方法,统计字符在字符串中出现的次数
len() 方法,得到字符创长度。这个不是字符串的内建方法,而是全局方法
字符串的方法很多,不一一列举了。
in 和 not in
in查询某字符在不在字符串中
not in
True 和 False 是布尔值,代表对或错、真或假、有或无
格式化字符串
在字符串中插入变量
.format()
f-strings 这种方法是 Python 3.6 之后才有的,我在一个英文博客偶然看到的,感觉简洁很多。但是百度居然搜不到,大家都不用吗?有知道的原因求教。
三引号的作用(单双引号都可以)
1、在三引号中的字符串,可以保留格式,比如直接换行而不比使用 \n
2、作为多行注释
——over——
初学笔记难免有谬误,欢迎您指出,感谢。
——doyoudo is the best——
领取专属 10元无门槛券
私享最新 技术干货