Python中关于字符串对象的一些基础知识


Posted in Python onApril 08, 2015

Python的字符串被划分为不可变序列的类别,意味着这些字符串所包含的字符存在从左至右的位置顺序,并且它们不可以在本地进行修改。

基本操作

字符串可以通过+操作符进行合并,可以使用*运算符进行重复。
 

>>>len("abc")
3
>>>'abc'+'def'
'abcdef'
>>>'NI!'*4
'NI!NI!NI!NI!'

字符串内部的一个反斜杠“\”可允许把字符串放于多行。
 

>>>str = "aaa\
  ....bbb\
  ....ccc\
  ....ddd"
>>>str
aaabbbcccddd

索引和分片

在Python中,字符串中的字符是通过索引提取的。
分片X[I:J],表示“取出在X中从偏移量为I,直到但不包括偏移量为J的内容”。结果就是返回一个新的对象。
在一个分片中,左边界默认为0,右边界默认为分片序列的长度。
 

S = 'Spam'
>>>S[1:]
'pam'
>>>S
'Spam'
>>>S[:3]
'Spa'
>>>S[:-1]
'Spa'
>>>S[:]
'Spam'
S[:]实现了一个完全的顶层的序列对象的拷贝-一个有相同值,但是是不同内存片区的对象。
X[I:J:K]表示“索引x对象中的元素,从偏移为I直到偏移为J-1,每隔K元素索引一次“,第三个限制K,默认为1,表示步进。
也可以使用负数作为步进,S[::-1]的作用实际上是将序列进行发转。
 
>>>S = 'hello'
>>>S[::-1]
'olleh'

字符串转化工具

int函数将字符串转换为数字,str函数将数字转换为字符串表达形式。repr函数也能够将一个对象转换为其字符串形式,然后这些返回的对象将作为代码的字符串,可以重新创建对象。

不可变性

字符串属于不可变序列,即不能在原地修改一个字符串,例如,给一个索引进行赋值。若要改变一个字符串,需要利用合并,分片这样的工具来建立并赋值给一个新的字符串,倘若必要的话,还要将这个结果赋值给字符串最初的变量名。
 

>>>S = 'spam'
>>>S[0] = "x"
#不允许修改S的值
 
>>>S = S + "SPAM"
>>>S
'spamSPAM'
 
>>>S = 'splot'
>>>S = S.replace('pl', 'plmal')
>>>S
'splmalot'
Python 相关文章推荐
用Python的urllib库提交WEB表单
Feb 24 Python
python实现linux服务器批量修改密码并生成execl
Apr 22 Python
Python正则表达式教程之一:基础篇
Mar 02 Python
使用Python对Access读写操作
Mar 30 Python
Python日期时间对象转换为字符串的实例
Jun 22 Python
对python实现二维函数高次拟合的示例详解
Dec 29 Python
python多继承(钻石继承)问题和解决方法简单示例
Oct 21 Python
python中的TCP(传输控制协议)用法实例分析
Nov 15 Python
pytorch方法测试详解——归一化(BatchNorm2d)
Jan 15 Python
python简单的三元一次方程求解实例
Apr 02 Python
大数据分析用java还是Python
Jul 06 Python
Django haystack实现全文搜索代码示例
Nov 28 Python
Python MySQLdb模块连接操作mysql数据库实例
Apr 08 #Python
python单例模式实例分析
Apr 08 #Python
在Docker上部署Python的Flask框架的教程
Apr 08 #Python
python threading模块操作多线程介绍
Apr 08 #Python
Python使用scrapy采集数据时为每个请求随机分配user-agent的方法
Apr 08 #Python
python中Genarator函数用法分析
Apr 08 #Python
探索Python3.4中新引入的asyncio模块
Apr 08 #Python
You might like
Yii PHP Framework实用入门教程(详细介绍)
2013/06/18 PHP
php的XML文件解释类应用实例
2014/09/22 PHP
解决Laravel5.2 Auth认证退出失效的问题
2019/10/14 PHP
aspx中利用js实现确认删除代码
2010/07/22 Javascript
Javascript中的回调函数和匿名函数的回调示例介绍
2014/05/12 Javascript
jquery动态调整div大小使其宽度始终为浏览器宽度
2014/06/06 Javascript
浅谈EasyUI中编辑treegrid的方法
2015/03/01 Javascript
省市区三级联动下拉框菜单javascript版
2015/08/11 Javascript
用AngularJS的指令实现tabs切换效果
2016/08/31 Javascript
AngularJS中指令的四种基本形式实例分析
2016/11/22 Javascript
如何判断出一个js对象是否一个dom对象
2016/11/24 Javascript
网站申请不到支付宝接口、微信接口,免接口收款实现方式几种解决办法
2016/12/14 Javascript
js上下视差滚动简单实现代码
2017/03/07 Javascript
详解nodejs http请求相关总结
2019/03/31 NodeJs
jQuery实现每日秒杀商品倒计时功能
2019/09/06 jQuery
JavaScript 斐波那契数列 倒序输出 输出100以内的质数代码实例
2019/09/11 Javascript
JS数组的高级使用方法示例小结
2020/03/14 Javascript
[02:40]2014DOTA2 国际邀请赛中国区预选赛 四大豪门抵达华西村
2014/05/23 DOTA
web.py在SAE中的Session问题解决方法(使用mysql存储)
2015/06/24 Python
python抓取并保存html页面时乱码问题的解决方法
2016/07/01 Python
解决python大批量读写.doc文件的问题
2018/05/08 Python
numpy.ndarray 交换多维数组(矩阵)的行/列方法
2018/08/02 Python
详解Django-restframework 之频率源码分析
2019/02/27 Python
总结python中pass的作用
2019/02/27 Python
Python:type、object、class与内置类型实例
2019/12/25 Python
简单了解Python多态与属性运行原理
2020/06/15 Python
Python 按比例获取样本数据或执行任务的实现代码
2020/12/03 Python
Origins悦木之源香港官网:雅诗兰黛集团高端植物护肤品牌
2018/03/21 全球购物
英国家庭、花园、汽车和移动解决方案:Easylife Group
2018/05/23 全球购物
意大利奢侈品零售商:ilDuomo Novara
2019/09/11 全球购物
C#和SQL Server的面试题
2016/08/12 面试题
大学校运会广播稿
2014/02/03 职场文书
本科毕业生求职自荐信
2014/02/03 职场文书
幼儿园植树节活动总结
2014/07/04 职场文书
javascript的var与let,const之间的区别详解
2022/02/18 Javascript
python 实现图片特效处理
2022/04/03 Python