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实现Tab自动补全和历史命令管理的方法
Mar 12 Python
浅谈Python的异常处理
Jun 19 Python
python检测主机的连通性并记录到文件的实例
Jun 21 Python
tensorflow 用矩阵运算替换for循环 用tf.tile而不写for的方法
Jul 27 Python
python3.6.5基于kerberos认证的hive和hdfs连接调用方式
Jun 06 Python
Python如何用wx模块创建文本编辑器
Jun 07 Python
pandas.DataFrame.drop_duplicates 用法介绍
Jul 06 Python
python实现自动打卡的示例代码
Oct 10 Python
Python jieba库分词模式实例用法
Jan 13 Python
Django展示可视化图表的多种方式
Apr 08 Python
一文搞懂python异常处理、模块与包
Jun 26 Python
Python pyecharts绘制条形图详解
Apr 02 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
图片存储与浏览一例(Linux+Apache+PHP+MySQL)
2006/10/09 PHP
PHP实现远程下载文件到本地
2015/05/17 PHP
一波PHP中cURL库的常见用法代码示例
2016/05/06 PHP
php实现替换手机号中间数字为*号及隐藏IP最后几位的方法
2016/11/16 PHP
PHP集成环境XAMPP的安装与配置
2018/11/13 PHP
理解JSON:3分钟课程
2011/10/28 Javascript
js replace正则表达式应用案例讲解
2013/01/17 Javascript
jQuery 计算iframe 窗口大小的方法
2014/05/13 Javascript
javascript实现状态栏文字首尾相接循环滚动的方法
2015/07/22 Javascript
原生js封装添加class,删除class的实例
2017/11/06 Javascript
实现div滚动条默认最底部以及默认最右边的示例代码
2017/11/15 Javascript
nodejs 十六进制字符串型数据与btye型数据相互转换
2018/07/30 NodeJs
js仿360开机效果
2019/12/26 Javascript
原生js实现ajax请求和JSONP跨域请求操作示例
2020/03/14 Javascript
JavaScript实现简单验证码
2020/08/24 Javascript
Python实现抓取网页并且解析的实例
2014/09/20 Python
python使用wmi模块获取windows下的系统信息 监控系统
2015/10/27 Python
python实现按任意键继续执行程序
2016/12/30 Python
Python基于hashlib模块的文件MD5一致性加密验证示例
2018/02/10 Python
Python unittest模块用法实例分析
2018/05/25 Python
python3的输入方式及多组输入方法
2018/10/17 Python
使用Python实现图像标记点的坐标输出功能
2019/08/14 Python
python按照list中字典的某key去重的示例代码
2020/10/13 Python
HTML5 CSS3打造相册效果附源码下载
2014/06/16 HTML / CSS
挪威户外活动服装和装备购物网站:Bergfreunde挪威
2016/10/20 全球购物
工程业务员岗位职责
2013/12/31 职场文书
爱情保证书范文
2014/02/01 职场文书
个人工作表现自我评价
2015/03/06 职场文书
夫妻吵架保证书
2015/05/08 职场文书
2015年党小组工作总结
2015/05/26 职场文书
信用卡收入证明范本
2015/06/12 职场文书
卫生主题班会
2015/08/14 职场文书
2019学校请假条格式及范文
2019/06/25 职场文书
MySQL中连接查询和子查询的问题
2021/09/04 MySQL
springmvc直接不经过controller访问WEB-INF中的页面问题
2022/02/24 Java/Android
Netflix《海贼王》真人版剧集多张片场照曝光
2022/04/04 日漫