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中的pydoc模块和distutils模块
Apr 13 Python
python机器学习之决策树分类详解
Dec 20 Python
基于Python List的赋值方法
Jun 23 Python
python网络应用开发知识点浅析
May 28 Python
pycharm编写spark程序,导入pyspark包的3中实现方法
Aug 02 Python
pytorch 实现将自己的图片数据处理成可以训练的图片类型
Jan 08 Python
pytorch对梯度进行可视化进行梯度检查教程
Feb 04 Python
Pycharm中安装Pygal并使用Pygal模拟掷骰子(推荐)
Apr 08 Python
基于python实现计算两组数据P值
Jul 10 Python
pycharm 多行批量缩进和反向缩进快捷键介绍
Jan 15 Python
详解修改Anaconda中的Jupyter Notebook默认工作路径的三种方式
Jan 24 Python
python 中的@运算符使用
May 26 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
php使用curl抓取qq空间的访客信息示例
2014/02/28 PHP
php判断GIF图片是否为动画的方法
2020/09/04 PHP
PHP中round()函数对浮点数进行四舍五入的方法
2014/11/19 PHP
彪哥1.1(智能表格)提供下载
2006/09/07 Javascript
js实现简单模态窗口,背景灰显
2008/11/14 Javascript
JavaScript 字符串与数组转换函数[不用split与join]
2009/12/13 Javascript
利用js实现遮罩以及弹出可移动登录窗口
2013/07/08 Javascript
JavaScript制作简易计算器(不用eval)
2017/02/05 Javascript
AngularJS的Filter的示例详解
2017/03/07 Javascript
Vue.js教程之axios与网络传输的学习实践
2017/04/29 Javascript
JS原生带小白点轮播图实例讲解
2017/07/22 Javascript
解决Linux无法正常安装与卸载Node.js的方法
2018/01/19 Javascript
vue实现短信验证码登录功能(流程详解)
2019/12/10 Javascript
JavaScript函数柯里化实现原理及过程
2020/12/02 Javascript
解决vue使用vant轮播组件swipe + flex时文字抖动问题
2021/01/07 Vue.js
python实现井字棋游戏
2020/03/30 Python
Python2.7简单连接与操作MySQL的方法
2016/04/27 Python
Python xlwt设置excel单元格字体及格式
2020/04/18 Python
为什么str(float)在Python 3中比Python 2返回更多的数字
2018/10/16 Python
golang/python实现归并排序实例代码
2020/08/30 Python
Python实现加密的RAR文件解压的方法(密码已知)
2020/09/11 Python
利用HTML5+css3+jquery+weui实现仿微信聊天界面功能
2018/01/08 HTML / CSS
html5简介_动力节点Java学院整理
2017/07/07 HTML / CSS
h5实现获取用户地理定位的实例代码
2017/07/17 HTML / CSS
自动化职业生涯规划书范文
2014/01/03 职场文书
心理健康课教学反思
2014/02/13 职场文书
心理学专业大学生职业生涯规划范文
2014/02/19 职场文书
2014年妇联工作总结
2014/11/21 职场文书
商铺租房协议书范本
2014/12/04 职场文书
2015年度护士个人工作总结
2015/04/09 职场文书
2015年纪念“卢沟桥事变”78周年活动方案
2015/05/06 职场文书
2015年客房服务员工作总结
2015/05/15 职场文书
三国演义读书笔记
2015/06/25 职场文书
入党转正申请自我鉴定
2019/06/25 职场文书
Jackson 反序列化时实现大小写不敏感设置
2021/06/29 Java/Android
Python函数对象与闭包函数
2022/04/13 Python