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用模块zlib压缩与解压字符串和文件的方法
Dec 16 Python
Python读取MRI并显示为灰度图像实例代码
Jan 03 Python
python读取txt文件中特定位置字符的方法
Dec 24 Python
Python中按键来获取指定的值
Mar 02 Python
详解python校验SQL脚本命名规则
Mar 22 Python
基于python3 pyQt5 QtDesignner实现窗口化猜数字游戏功能
Jul 15 Python
python 字符串追加实例
Jul 20 Python
Series和DataFrame使用简单入门
Nov 13 Python
python 实现图片修复(可用于去水印)
Nov 19 Python
Python利用myqr库创建自己的二维码
Nov 24 Python
python 管理系统实现mysql交互的示例代码
Dec 06 Python
Python使用pandas导入xlsx格式的excel文件内容操作代码
Dec 24 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设计模式之单例模式原理与实现方法分析
2018/04/25 PHP
thinkphp5框架结合mysql实现微信登录和自定义分享链接与图文功能示例
2019/08/13 PHP
php上传后台无法收到数据解决方法
2019/10/28 PHP
Javascript实例教程(19) 使用HoTMetal(6)
2006/12/23 Javascript
学习YUI.Ext基础第一天
2007/03/10 Javascript
JQuery自定义事件的应用 JQuery最佳实践
2010/08/01 Javascript
jQuery文本框(input textare)事件绑定方法教程
2013/04/24 Javascript
JQuery中SetTimeOut传参问题探讨
2013/05/10 Javascript
js克隆对象、数组的常用方法介绍
2013/09/26 Javascript
Javascript中For In语句用法实例
2015/05/14 Javascript
AngularJS中使用HTML5手机摄像头拍照
2016/02/22 Javascript
jQuery实现表格与ckeckbox的全选与单选功能
2016/11/24 Javascript
JS实现获取进今年第几天是周几的方法分析
2018/06/27 Javascript
Python实现统计英文单词个数及字符串分割代码
2015/05/28 Python
Python中的pygal安装和绘制直方图代码分享
2017/12/08 Python
遗传算法python版
2018/03/19 Python
python提取具有某种特定字符串的行数据方法
2018/12/11 Python
python 函数内部修改外部变量的方法
2018/12/18 Python
Django 路由层URLconf的实现
2019/12/30 Python
Python3标准库之functools管理函数的工具详解
2020/02/27 Python
推荐技术人员一款Python开源库(造数据神器)
2020/07/08 Python
公认8个效率最高的爬虫框架
2020/07/28 Python
利用HTML5中Geolocation获取地理位置调用Google Map API在Google Map上定位
2013/01/23 HTML / CSS
美国生鲜及杂货电商:FreshDirect
2018/01/29 全球购物
将"引用"作为函数返回值类型的格式、好处和需要遵守的规则
2016/02/09 面试题
师范毕业生个人求职信
2013/12/09 职场文书
毕业生自荐书
2013/12/18 职场文书
公安机关正风肃纪剖析材料
2014/10/10 职场文书
教师查摆问题及整改措施
2014/10/11 职场文书
采购员岗位职责范本
2015/04/07 职场文书
2015年环保局工作总结
2015/05/22 职场文书
2016年重阳节慰问信
2015/12/01 职场文书
2019预备党员转正申请书模板2篇!
2019/08/07 职场文书
关于mysql中时间日期类型和字符串类型的选择
2021/11/27 MySQL
Docker 镜像介绍以及commit相关操作
2022/04/13 Servers
Java Spring读取和存储详细操作
2022/08/05 Java/Android