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实现的最近最少使用算法
Jul 10 Python
Python函数中*args和**kwargs来传递变长参数的用法
Jan 26 Python
python爬虫headers设置后无效的解决方法
Oct 21 Python
Python RabbitMQ消息队列实现rpc
May 30 Python
python 按不同维度求和,最值,均值的实例
Jun 28 Python
Python字符串的修改方法实例
Dec 19 Python
打包PyQt5应用时的注意事项
Feb 14 Python
django 数据库 get_or_create函数返回值是tuple的问题
May 15 Python
python实例化对象的具体方法
Jun 17 Python
TensorFlow-gpu和opencv安装详细教程
Jun 30 Python
Python 实现将某一列设置为str类型
Jul 14 Python
Python调用ffmpeg开源视频处理库,批量处理视频
Nov 16 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程序
2006/10/09 PHP
PHP里的中文变量说明
2011/07/23 PHP
php判断linux下程序问题实例
2015/07/09 PHP
PHP 无限级分类
2017/05/04 PHP
Jquery 弹出层插件实现代码
2009/10/24 Javascript
仿猪八戒网左下角的文字滚动效果
2011/10/28 Javascript
js实现图片放大缩小功能后进行复杂排序的方法
2012/11/08 Javascript
javascript-表格排序(降序/反序)实现介绍(附图)
2013/05/30 Javascript
如何解决Jquery库及其他库之间的$命名冲突
2013/09/15 Javascript
js中cookie的添加、取值、删除示例代码
2013/10/21 Javascript
javascript和jquery修改a标签的href属性
2013/12/16 Javascript
再谈Javascript中的基本类型和引用类型(推荐)
2016/07/01 Javascript
基于JavaScript实现Tab选项卡切换效果
2016/11/24 Javascript
JS实现的表头列头固定页面功能示例
2017/01/10 Javascript
Vue声明式渲染详解
2017/05/17 Javascript
微信小程序实现循环动画效果
2018/07/16 Javascript
bootstrap自定义样式之bootstrap实现侧边导航栏功能
2018/09/10 Javascript
vue-cli3 DllPlugin 提取公用库的方法
2019/04/24 Javascript
通过说明与示例了解js五种设计模式
2019/06/17 Javascript
jquery制作的移动端购物车效果完整示例
2020/02/24 jQuery
[49:02]KG vs Infamous 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
通过Python使用saltstack生成服务器资产清单
2016/03/01 Python
Python编程使用tkinter模块实现计算器软件完整代码示例
2017/11/29 Python
python调用OpenCV实现人脸识别功能
2018/05/25 Python
Python实现随机漫步功能
2018/07/09 Python
使用python的pandas库读取csv文件保存至mysql数据库
2018/08/20 Python
Python字典深浅拷贝与循环方式方法详解
2020/02/09 Python
Python换行与不换行的输出实例
2020/02/19 Python
python学习将数据写入文件并保存方法
2020/06/07 Python
python可视化分析的实现(matplotlib、seaborn、ggplot2)
2021/02/03 Python
时尚设计师手表:The Watch Cabin
2018/10/06 全球购物
工商管理本科毕业生求职信范文
2013/10/05 职场文书
质检的岗位职责
2013/11/17 职场文书
学生处主任岗位职责
2013/12/01 职场文书
商场活动策划方案
2014/01/24 职场文书
婚礼必备主持词范本!
2019/07/23 职场文书