3.2 字符串
字符串前面我们已经有接触了,在input输入的时候,input接收到是变量类型就是字符串(string)。
字符串是一种十分常用的变量类型,顾名思义,就是存储了一长串的字符。我们在网上填表格之类的操作,一般也都会用字符串存储。字符串的定义使用也只需要用到赋值运算符即可。比如我们可以使用以下语句 student_name = "八爷",即可创建一个字符串类型的变量student_name
1、字符串截取
Python设计字符串的截取十分的方便,比如说,我们定义一个字符串是 slogan = "
United by Emotion",如果我们要截取第一个字符,我们只需要用slogan[0]就可以截取第一个字符。这里为什么是0不是1呢?因为在计算机底层里,第一位就是0,这跟二进制有关。所以如果我们想要截取第二位呢,则是使用
slogan[1]。即是变量名+中括号[],中括号内填写想要的位。 那如果想要截取一连串的呢?则是变量名+中括号[],中括号内填写想要的第一位+冒号: + 想要的末位 + 1。比如我们要截取slogan 的“United”,我们数数最后一位“d”是第几位。“0、1、2、3、4、5”,是第六个数字,因为是从0开始数,所以是数字5,但是要在截取的时候加上1,所以写成slogan[0:6]。也就是所谓的“左取右不取”,从左手边的数字0开始取数,到右手边的数字6为止,末位不取。
当然,取中间的字段也是可以的。比如slogan[5:13]。大家注意看结果,空格也是算一个字符的。
Python还十分贴心的设计了简写,如果我们从第0位开始截取字符串,可以简写成[:13],就能直接截取到第13位了,不需要写0。
那如果我们想要取最后一位,还要取数,岂不是很麻烦,Python已经考虑到了。我们写成[-1]即可。同理的,-2就再往前推一位。如下图
如果我们偏要知道一个字符串有多长,我们可以使用一个函数 len() ,我们只需要将变量传入即可,用法如下:
我们可以看到,slogan的长度是17,也就是说最后一位是16。
2、字符串拼接
字符串不只可以截取,也可以拼接,字符串拼接十分简单,用加号将前后相连即可。如果变量类型不是字符串类型,拼接则会报错:
3、字符串查找
我们上一节学习了成员运算符,知道了用 in 和 not in 即可用来判断一个字符串是否是在另一个字符串内,举例如下:
按上面的例子,我们能知道 in 和 not in 能实现判断的功能,但如果我们想自动字符串的具体位置呢?比如说,我们有一个字符串是“月明星稀,乌鹊南飞”,我们想知道“南”字在该字符串的哪个位置。我们可以使用find()函数。使用方法如下:
我们可以使用一个对象 + . + 函数的方法,指定是某个对象的函数。find()函数返回的值就是该字符串的起始位置,也就是索引值,从0开始数起,我们能数到“南”字的索引值正好是7。
4、字符串的格式化
字符串的格式化指的是在输出字符串的使用,减少使用对象转化和拼接,使用格式化的文本来替代的功能,如下面例子所示。
按照上面的例子,我们可以看到,使用规则十分简单,在我们原先print()函数的字符串内,需要替换成变量的地方用符号代替(需要字符串的地方写%s,需要浮点数的地方写%f,需要整数的地方写%d),后在字符串后面跟百分号%,再接前面需要替换的变量,需要按顺序排列好。我们还应该注意一个细节,如果想要写浮点数取到小数点后多少位,就写成%.3f的形式,3表示小数点后3位,而且是四舍五入的形式。当然,格式化不止是这三种而已,只是这三种比较常见,需要用到的时候可以上网搜索其他类型。
5、常用字符串函数
前面我们已经学习了,len()函数查看字符串的长度,find()函数查找字符串内字符的索引,接下来再介绍几个常用的函数,字符串可使用的函数很多,不仅仅是介绍的这些。
首先介绍join()函数,顾名思义(编程语言的设计大多都是顾名思义的),join()函数是用来迭代插入字符串的,指的是将一个字符串迭代插入到另一个字符串中。我们先看例子:
我们可以看到字符串 str_1 被迭代插入到 str_2 中,并产生了新的字符串,注意,是新的字符串,不会影响旧的两个字符串。这可以将字符串用某一种字符隔开,比如说下面的用法:
join函数还支持使用多个字符串拼接,比如:
也能实现上面我们提到过的加法的拼接模式(如下图),因为在双引号内不写任何东西,就表示将空的字符串插入到两个字符串“he”和“llo”中间。
介绍第二个函数是字符串的替换,也是十分常用的,就是将字符串里的某个字符替换成另一个字符,先举个例子:
我们可以看到这个例子,是将里面的顿号换成了分号(当然里面涉及到的双引号改成单引号也是没问题的,个人习惯而已),那如果我们只想替换一个怎么办。这个函数还可以跟一个参数,用来表示替换多少个,下面例子我们就只替换了3个顿号而已:
我们也可以用这个替换来删除掉部分字符串,如下例子:
还有更加常用的字符串函数,就是拆分函数,split(),用法如下面的例子:
通过例子我们可以看到,拆分字符串是以一个字符串为间隔,将原字符串拆分长一个数组,就是以中括号为内容的组,组内元素以逗号分隔,我们打印类型可以看到是 list 类型,也叫做列表。
如果我们将用来做间隔的字符串替换成一个空的字符,我们看看拆分成什么
嗯~ o(* ̄▽ ̄*)o这是不允许的
我们把字符改成“阿甘”试试
我们可以看到我们用阿甘将原先students的字符串分割成两部分。
如果我们将这个数组拼接起来就可以实现删除“阿甘”的功能了。
还有很多字符串的函数,比如判断是否都是数字组成的isdigit(),将字母字符都转化成大写字母的upper(),大小写字母互转的函数swapcase()等等等等,这里不一一列举了,有需要用到的可以上网搜索即可。
《中小学生Python编程入门指南》3.2 字符串
原文:https://www.cnblogs.com/sunshinesky/p/12392609.html