首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python入门学习篇(4)-数据类型之字符串(续

上一篇文章提到过字符串相关知识,今天我们接着来学一下字符串的分片索引、替换等。分片索引用的比较多,替换至少我目前还没用到(作为小白的我学习进度较缓慢)

1

字符串分片与索引

字符串可以通过string[]的方式进行索引、分片,也就是加一个[]。字符串的分片(slice)实际上可以看做是从字符串中找出你要截取的东西,复制出来你想要的长度,存储到另一个地方,而不会对字符串这个源文件进行改动。分片获得的字符串可以看做是字符串的一个副本。

我们来根据上图提示来敲一遍代码:

>>> name="My Name is Mike"

>>> len(name)

15

前一篇文章有提到过用len()函数来获取字符串长度(字节数量)

如果,我们需要对一个字符串进行截取,我们可以对字符串进行切片。

切片操作是将字符串赋值到一个变量,然后通过输入截取的起始位置、终止位置以及方向与间隔,对字符串进行不同方式的截取。

>>> name[0]

'M'

>>> name[5:]

'me is Mike'

>>> name[:5]

'My Na'

注解:

:两边分别代表着字符串的分割从哪里开始,并到哪里结束。以name[11:15]为例,截取的编号从第11个字符开始,并到第15个字符结束但不包含第15个字符。

name[5]代表从编号为5的字符开始一直到结束的字符串分片;

name[:5]代表从编号为0的字符开始到编号为5但不包含第5个字符的字符分片。

我作为一个小白,感觉其实注解也有点啰嗦,这里就举3个案例,剩下的自己去模仿代码敲一下,敲着敲着就能明白其中的奥秘,有时候保持那份难得糊涂也挺值得的!

2

字符串替换

>>> num2=num1.replace(num1[:10],'#'*10)

>>> print(num2)

##########888

上面使用了一个新的字符串方法replace.()来进行‘遮挡’,replace.()方法的括号中,第一个num1[:10]代表要被替换掉的部分,后面的'#'*9代表将要替换成什么字符。

替换部分字符的方法是“replace(old,new,count)”,如上所述,这个函数有三个参数:

old:表示需要被替换的字符或字符串;

new:表示替换后的新字符或字符串;

count:表示替换的次数,此参数可省略;如果省略表示替换所有需要被替换的字符或字符串。

3

字符串操作异常

这个是什么情况呢?字符串不是可以拼接吗?怎么就拼接不成功呢?num这个变量咱们赋值为1,是一个整型(integer),string这个变量,赋值的是个字符串'1',不同的数据类型是不能进行合并的,但是可以转换之后在合并,上篇文章有提到过转换方法,不懂得可以把上篇文章调出来看看

4

字符串其它操作

①字符串可以相加,那么字符串可以相乘吗?咱们练起来,实战检验想法:

>>> a='Hello Python'

>>> print(a*3)

Hello PythonHello PythonHello Python

细心的小伙伴就发现,不太美观,对吧?能不能美观点呢:

>>> print('Hello Python\n'*3)

Hello Python

Hello Python

Hello Python

上一篇咱们提到的换行符\n就用上了

②字符串大小写转换

upper(): 字符串全部字符转换为大写,lower():字符串全部字符转换为小写

>>> a='Hello World'

>>> a.upper()

'HELLO WORLD'

swapcase() :字符串全部字符大小写互换,capitalize():字符串首个单词首字母大写,title(): 字符串中全部单词首字母大写

>>> a.swapcase()

'hELLO wORLD'

>>> b='hello world'

>>> b.capitalize()

'Hello world'

>>> b.title()

'Hello World'

这些方法均不用写入参数,直接调用。

部分内容来源于网络,若有侵权,请联系作者删除!!!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180606G1QW4D00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券