博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
给妹子讲python-S01E05字符串的基本用法详解
阅读量:6200 次
发布时间:2019-06-21

本文共 1437 字,大约阅读时间需要 4 分钟。

欢迎关注公众号:python数据科学家

【要点抢先看】

1.字符串支持一些容器的基本操作,如分片索引

2.字符串的不可修改特性
3.字符串的连接、遍历和成员测试
4.字符串赋值操作中的深拷贝与浅拷贝

python中一项很重要的工作就是文本处理,与之紧密相关的数据类型是字符串,从这一集开始,我们由浅入深介绍一系列关于字符串的内容。

【妹子说】之前刚刚介绍了容器,字符串应该可以看做是字符的容器吧?

可以这么理解,字符串就是由单个字符组成的有序序列,且不可修改。

类比前面提到的列表,如正向索引、反向索引、分片索引等基于偏移量的基本操作,字符串都是支持的。

下面列举一些与列表类似的操作,需要强调一点的是字符串的分片操作,分片就是从一整个字符串中分离提取出一部分内容(即子字符串),从而获取所需的部分数据,并且python返回的是包含所获取元素的新对象。

分片操作在实际使用时用处很多,比如:我们可以在命令行字符串中去分离感兴趣的参数列表。

s = 'abcdefg' print(s[0]) print(s[-2]) print(s[1:4]) print(s[1:4:2]) print(s[-1:1:-1]) print(len(s)) a f bcd bd gfedc 7 复制代码

再来看看字符串的不可修改特性。

s = 'abcd' s[0] = '4' Traceback (most recent call last):  File "E:/12homework/12homework.py", line 2, in 
   s[0] = '4' TypeError: 'str' object does not support item assignment 复制代码

再说说两个字符串之间的连接操作。即所谓的字符串相加,返回连接后生成的新字符串

s1 = 'abcd' s2 = '1234' s = s1 + s2 print(s) abcd1234 复制代码

【妹子说】那字符串的赋值,也是用=直接赋值吧

对,不过针对赋值,有深拷贝和浅拷贝两种意义截然不同的方式。

下面这种赋值方法实际上是对象的深拷贝,即赋值左右的两个对象具有相同值,但是是位于不同内存片区的对象

s = ['abcdefg'] a = s[:] print(a) print(s is a) ['abcdefg'] False 复制代码

而如果是像下面这样直接赋值,则左右两个对象实际上被分配的是同一个内存空间,即所谓的浅拷贝

s1 = 'abcdefg' s2 = s1 print(s1 == s2) True 复制代码

【妹子说】明白了,那字符串作为一种序列,也能进行遍历和成员关系测试吧。

当然,可以使用for语句在一个字符串中进行循环迭代,并使用in操作符对字符和子字符串进行成员关系的测试

s = 'hacker' for c in s:     print(c, end=' ') h a c k e r  print('k' in 'school') False 复制代码

以上都是字符串与容器相类似的一些操作,有之前几集学习的基础,接受起来还是挺容易的。

【妹子说】把字符串和容器序列进行类比,很多用法就不言自明了。这些共性的方法倒是好理解,也比较简单,那后面再介绍一些字符串的独门秘诀吧。

公众号二维码:python数据科学家:

转载地址:http://lrtca.baihongyu.com/

你可能感兴趣的文章
mysql 字符串 拼接 截取 替换
查看>>
Python 字符串 String 内建函数大全(1)
查看>>
41. First Missing Positive
查看>>
Redis集群
查看>>
java学习记录--ThreadLocal使用案例
查看>>
Hadoop学习之路(二十三)MapReduce中的shuffle详解
查看>>
Docker-删除untagged docker images
查看>>
74. Search a 2D Matrix
查看>>
python移位运算符
查看>>
Invalidate、RedrawWindow与UpdateWindow的差别
查看>>
Linux中ifcfg-eth0配置参数说明
查看>>
Ubuntu安装搜狗输入法
查看>>
区块链技术以及少数服务多数的51%攻击
查看>>
微信小程序调用蓝牙功能控制车位锁
查看>>
单例模式
查看>>
Generate BKS File( Bouncy Castle KeyStore)
查看>>
网站性能压力测试工具--apache ab使用详解
查看>>
j_spring_security_check 404错误
查看>>
weblogic部署存在中文乱码导致部署失败
查看>>
总结获取原生JS(javascript)的父节点、子节点、兄弟节点
查看>>