详解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 相关文章推荐
Python中apply函数的用法实例教程
Jul 31 Python
python中对list去重的多种方法
Sep 18 Python
python中列表元素连接方法join用法实例
Apr 07 Python
Python 通过pip安装Django详细介绍
Apr 28 Python
python实现遍历文件夹修改文件后缀
Aug 28 Python
python计算阶乘和的方法(1!+2!+3!+...+n!)
Feb 01 Python
python实现微信自动回复及批量添加好友功能
Jul 03 Python
Pycharm创建项目时如何自动添加头部信息
Nov 14 Python
python构造函数init实例方法解析
Jan 19 Python
Django自带的用户验证系统实现
Dec 18 Python
python爬虫利用selenium实现自动翻页爬取某鱼数据的思路详解
Dec 22 Python
浅谈Python数学建模之整数规划
Jun 23 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
供参考的 php 学习提高路线分享
2011/10/23 PHP
Joomla调用系统自带编辑器的实现方法
2016/05/05 PHP
Laravel5.5新特性之友好报错以及展示详解
2017/08/13 PHP
javascript中的float运算精度实例分析
2010/08/21 Javascript
js创建子窗口并且回传值示例代码
2013/07/02 Javascript
JQuery插件fancybox无法在弹出层使用左右键的解决办法
2013/12/25 Javascript
jQuery控制元素显示、隐藏、切换、滑动的方法总结
2015/04/16 Javascript
js图片跟随鼠标移动代码
2015/11/26 Javascript
分分钟玩转Vue.js组件
2016/10/25 Javascript
JavaScript 数组的深度复制解析
2016/11/02 Javascript
ES6中module模块化开发实例浅析
2017/04/06 Javascript
pm2 部署 node的三种方法示例
2017/10/20 Javascript
JavaScript对象的特性与实践应用深入详解
2018/12/30 Javascript
vuex根据不同的用户权限展示不同的路由列表功能
2019/09/20 Javascript
Vue router传递参数并解决刷新页面参数丢失问题
2020/12/02 Vue.js
python 队列基本定义与使用方法【初始化、赋值、判断等】
2019/10/24 Python
关于Tensorflow使用CPU报错的解决方式
2020/02/05 Python
django admin 添加自定义链接方式
2020/03/11 Python
在Python中使用K-Means聚类和PCA主成分分析进行图像压缩
2020/04/10 Python
解决python脚本中error: unrecognized arguments: True错误
2020/04/20 Python
详解pandas绘制矩阵散点图(scatter_matrix)的方法
2020/04/23 Python
Python Switch Case三种实现方法代码实例
2020/06/18 Python
利用scikitlearn画ROC曲线实例
2020/07/02 Python
皇马官方商城:Real Madrid Store
2016/09/02 全球购物
Book Depository亚太地区:一家领先的国际图书零售商
2019/05/05 全球购物
美国第一大药店连锁机构:Walgreens(沃尔格林)
2019/10/10 全球购物
金蝶的一道SQL笔试题
2012/12/18 面试题
J2EE面试题
2016/03/14 面试题
财务管理个人自荐书范文
2013/11/24 职场文书
材料加工工程求职信
2014/02/19 职场文书
小学毕业演讲稿
2014/04/25 职场文书
中学生爱国演讲稿
2014/09/05 职场文书
纪念九一八爱国演讲稿600字
2014/09/14 职场文书
特此通知格式
2015/04/27 职场文书
2016年4月份红领巾广播稿
2015/12/21 职场文书
使用CSS自定义属性实现骨架屏效果
2022/06/21 HTML / CSS