详解Python核心对象类型字符串


Posted in Python onFebruary 11, 2018

Python的字符串的特点

  • Python与C语言,Java语言都不一样,没有单个字符,只有一个有一个字符的字符串。
  • 字符串对象不可修改,属于不可变类型
  • 字符串和列表,元组都从属于序列这个对象类别。所以序列支持的操作,字符串也支持。
  • 用单引号和双引号表示都行,并列的字符串串常量会自动合并,不需要显式的用加号表示。
  • 单双引号里面的特殊字符必须用转义序列表示,比如”,',\都需要在前面加个、,但是在三引号里面不需要转义。

Python的字符串的支持的基本操作

  • 支持序列的操作,比如len(‘abc')取长度
  • Python不允许混合数字和字符串的加法,比如9+'3'不会转成字符串,这点和Java不一样。
  • 分片通过偏移来指定分片的大小,[偏移A:偏移B:偏移C]从左到右偏移为正,从右到左偏移为负。偏移A省略表示最左端,偏移B省略表示最右端,如[1:]表示从索引为1到最右端。分片创建一个新的对象返回,所以用[:]可以实现拷贝。分片偏移C表示步进,从左端和右端的区间复制索引相差为步进的元素,组成新对象返回。
  • 修改字符串会产生一个新的字符串对象,这时候可能会有疑问,这样不是效率很低吗?在JAVA中确实是这样,如果用+号来合并字符串就会产生一个新对象,所以在JAVA中一般用StringBuilder避免产生过多的对象,但是在Python中没被变量引用的对象会立即回收掉空间,新对象会重用回收的空间。所以效率并不会很低。

Python的字符串转换

  • 数字与字符串之间的转换:通过内置函数int(‘42'),str(42),float(‘42')之类的来转换
  • 字符串与ASCII码之间的转换:ord(‘323')将字符串转为ASCII码,chr(23)将ASCII码转换为字符串

字符串方法

  • 修改字符串:通过合并+和分片[:]来修改,另一种是通过字符串的方法来修改。replace(‘goal','str')把字符串中的'goal'替换成'str'。find(‘index')返回字符串'index'开始的索引。list(‘sds')将字符串'sds'转换成列表['s','d','s'],这就变成了可变对象类型,可以直接对其进行多次修改,再调用”.join(列表)转换成字符串方法这比上面多次合并或切片效率要高。
  • 文本解析:split(”)方法可以将文本切割成列表。
  • 其他方法:rstrip()方法清除每行末尾空白,endswith(‘w')判断是否以'w'结尾和startswith(‘t')是否以't'开头。
  • 字符串不支持模式,需要使用Python的re标准库模块。

字符串格式化

Python支持在字符串放入%d,%s来实现类型替换,类似于C的printf。在字符串后面添加% 字符串 实现指定字符串替换,多个字符串要用()括起来。

基于字典的字符格式化

插入字符串的不再是固定的%d,%s而是%(字典的键)。替换的就是字典的值,这样有一个好处就是能把整个字符串中的对应字典键的字符串都替换成字典键对应的值。

字符串格式化调用方法

前面的都是通过表达式来进行字符串格式化。这里是通过字符串的方法进行格式化。这就和Java的占位符差不多了,template='{0},{1},{2}',template.format('s','d','s')来进行格式化。

Python 相关文章推荐
Linux下用Python脚本监控目录变化代码分享
May 21 Python
Python中的多行注释文档编写风格汇总
Jun 16 Python
Python 数据处理库 pandas进阶教程
Apr 21 Python
python format 格式化输出方法
Jul 16 Python
Python参数类型以及常见的坑详解
Jul 08 Python
Django 开发调试工具 Django-debug-toolbar使用详解
Jul 23 Python
Python列表list常用内建函数实例小结
Oct 22 Python
python 利用turtle库绘制笑脸和哭脸的例子
Nov 23 Python
PyQt中使用QtSql连接MySql数据库的方法
Jul 28 Python
python3中编码获取网页的实例方法
Nov 16 Python
Jupyter Notebook 如何修改字体和大小以及更改字体样式
Jun 03 Python
Python编写冷笑话生成器
Apr 20 Python
python使用json序列化datetime类型实例解析
Feb 11 #Python
Python中pow()和math.pow()函数用法示例
Feb 11 #Python
Python反射的用法实例分析
Feb 11 #Python
python互斥锁、加锁、同步机制、异步通信知识总结
Feb 11 #Python
python编程嵌套函数实例代码
Feb 11 #Python
Tensorflow的可视化工具Tensorboard的初步使用详解
Feb 11 #Python
Django自定义manage命令实例代码
Feb 11 #Python
You might like
PHP3 safe_mode 失效漏洞
2006/10/09 PHP
php实现阿拉伯数字和罗马数字相互转换的方法
2015/04/17 PHP
[原创]PHP简单开启curl的方法(测试可行)
2016/01/11 PHP
thinkPHP5框架导出Excel文件简单操作示例
2018/08/03 PHP
深入解析contentWindow, contentDocument
2013/07/04 Javascript
jQuery选择器中含有空格的使用示例及注意事项
2013/08/25 Javascript
JS设置获取cookies的方法
2014/01/26 Javascript
JQuery中$(document)是什么意思有什么作用
2014/07/21 Javascript
Javascript+CSS实现影像卷帘效果思路及代码
2014/10/20 Javascript
PHP+mysql+Highcharts生成饼状图
2015/05/04 Javascript
js实现点击文本框显示日期选择器特效代码分享
2020/05/21 Javascript
纯js实现瀑布流布局及ajax动态新增数据
2016/04/07 Javascript
AngularJS定时器的使用与移除操作方法【interval与timeout】
2016/12/14 Javascript
开源免费天气预报接口API及全国所有地区代码(国家气象局提供)
2016/12/26 Javascript
JavaScript获取select中text值的方法
2017/02/13 Javascript
jQuery Ajax 实现分页 kkpager插件实例代码
2017/08/10 jQuery
js与jQuery实现的用户注册协议倒计时功能实例【三种方法】
2017/11/09 jQuery
AngularJs1.x自定义指令独立作用域的函数传入参数方法
2018/10/09 Javascript
Vue实现简易翻页效果源码分享
2018/11/08 Javascript
Vue项目服务器部署之子目录部署方法
2019/05/12 Javascript
Vue数据驱动表单渲染,轻松搞定form表单
2019/07/19 Javascript
vue项目部署到nginx/tomcat服务器的实现
2019/08/26 Javascript
node使用request请求的方法
2019/12/20 Javascript
JavaScript Array.flat()函数用法解析
2020/09/02 Javascript
[07:48]DOTA2上海特级锦标赛主赛事首日RECAP
2016/03/04 DOTA
详细介绍Python的鸭子类型
2016/09/12 Python
python3中获取文件当前绝对路径的两种方法
2018/04/26 Python
使用实现XlsxWriter创建Excel文件并编辑
2018/05/04 Python
详解Python函数式编程—高阶函数
2019/03/29 Python
迪卡侬波兰体育用品商店:Decathlon波兰
2020/03/31 全球购物
建筑学推荐信
2013/11/03 职场文书
管理信息系学生的自我评价
2014/01/11 职场文书
入党自荐书范文
2014/03/09 职场文书
应聘会计求职信
2014/06/11 职场文书
2015年行政工作总结范文
2015/04/09 职场文书
2015国庆节感想
2015/08/04 职场文书