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脚本实现统计日志文件中的ip访问次数代码分享
Aug 06 Python
python实现域名系统(DNS)正向查询的方法
Apr 19 Python
python爬虫爬取某站上海租房图片
Feb 04 Python
Python中数组,列表:冒号的灵活用法介绍(np数组,列表倒序)
Apr 18 Python
python3实现小球转动抽奖小游戏
Apr 15 Python
python求平均数、方差、中位数的例子
Aug 22 Python
python随机数分布random均匀分布实例
Nov 27 Python
Pyqt5自适应布局实例
Dec 13 Python
安装PyInstaller失败问题解决
Dec 14 Python
python 操作hive pyhs2方式
Dec 21 Python
anaconda3安装及jupyter环境配置全教程
Aug 24 Python
Python中的np.argmin()和np.argmax()函数用法
Jun 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
php各种编码集详解和以及在什么情况下进行使用
2011/09/11 PHP
解决Codeigniter不能上传rar和zip压缩包问题
2014/03/07 PHP
Laravel5.5以下版本中如何自定义日志行为详解
2018/08/01 PHP
PHP微信网页授权的配置文件操作分析
2019/05/29 PHP
laravel 字段格式化 modle 字段类型转换方法
2019/09/30 PHP
快速解决jquery之get缓存问题的最简单方法介绍
2013/12/19 Javascript
JQuery中阻止事件冒泡几种方式及其区别介绍
2014/01/15 Javascript
js检测浏览器版本、核心、是否移动端示例
2014/04/24 Javascript
js子页面获取父页面数据示例
2014/05/15 Javascript
js淡入淡出焦点图幻灯片效果代码分享
2015/09/08 Javascript
基于js实现微信发送好友如何分享到朋友圈、微博
2015/11/30 Javascript
浅谈Sticky组件的改进实现
2016/03/22 Javascript
浅谈layer的iframe弹窗给里面的标签赋值的问题
2016/11/10 Javascript
微信小程序 后台登录(非微信账号)实例详解
2017/03/31 Javascript
小程序怎样让wx.navigateBack更好用的方法实现
2019/11/01 Javascript
JS Generator 函数的含义与用法实例总结
2020/04/08 Javascript
python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix实现
2018/06/11 Python
Python 删除连续出现的指定字符的实例
2018/06/29 Python
对tensorflow中tf.nn.conv1d和layers.conv1d的区别详解
2020/02/11 Python
解决pycharm导入本地py文件时,模块下方出现红色波浪线的问题
2020/06/01 Python
Pycharm 设置默认解释器路径和编码格式的操作
2021/02/05 Python
CSS3 flex布局之快速实现BorderLayout布局
2015/12/03 HTML / CSS
澳大利亚领先的在线美容商城:Adore Beauty
2017/04/14 全球购物
模具专业推荐信
2013/10/30 职场文书
政法大学毕业生自荐信范文
2014/01/01 职场文书
出生医学证明样本
2014/01/17 职场文书
会计学生自我鉴定
2014/02/06 职场文书
《湘夫人》教学反思
2014/02/21 职场文书
伊琍体标语
2014/06/25 职场文书
2014年教师节演讲稿
2014/09/03 职场文书
见习报告的格式
2014/10/31 职场文书
2014年售票员工作总结
2014/11/19 职场文书
社区元宵节活动总结
2015/02/06 职场文书
2015年幼儿园保育工作总结
2015/05/12 职场文书
JS数组的常用方法整理
2021/03/31 Javascript
PyCharm 安装与使用配置教程(windows,mac通用)
2021/05/12 Python