详解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中的os.path路径模块中的操作方法总结
Jul 07 Python
Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
Dec 27 Python
用python找出那些被“标记”的照片
Apr 20 Python
分享一个可以生成各种进制格式IP的小工具实例代码
Jul 28 Python
python爬虫获取淘宝天猫商品详细参数
Jun 23 Python
python3.6+django2.0开发一套学员管理系统
Mar 03 Python
python实现微信自动回复机器人功能
Jul 11 Python
nginx+uwsgi+django环境搭建的方法步骤
Nov 25 Python
pytorch标签转onehot形式实例
Jan 02 Python
matplotlib quiver箭图绘制案例
Apr 17 Python
python3.6环境下安装freetype库和基本使用方法(推荐)
May 10 Python
Elasticsearch py客户端库安装及使用方法解析
Sep 14 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生成随机密码类分享
2014/06/25 PHP
PHP执行linux命令常用函数汇总
2016/02/02 PHP
php中Swoole的热更新实现代码实例
2021/03/04 PHP
IE与firefox之jquery用法区别
2008/10/03 Javascript
Javascript笔记一 js以及json基础使用说明
2010/05/22 Javascript
javascript基础知识大集锦(二) 推荐收藏
2011/01/13 Javascript
javascript中的self和this用法小结
2014/02/08 Javascript
浅析JavaScript事件和方法
2015/02/28 Javascript
jQuery 移动端artEditor富文本编辑器
2016/01/11 Javascript
js 求时间差的实现代码
2016/04/26 Javascript
js实现点击按钮弹出上传文件的窗口
2016/12/23 Javascript
基于jQuery实现左侧菜单栏可折叠功能
2016/12/27 Javascript
Node.js中用D3.js的方法示例
2017/01/16 Javascript
一道面试题引发的对javascript类型转换的思考
2017/03/06 Javascript
JavaScript中的遍历详解(多种遍历)
2017/04/07 Javascript
通过button将form表单的数据提交到action层的实例
2017/09/08 Javascript
javascript字体颜色控件的开发 JS实现字体控制
2017/11/27 Javascript
深入Node TCP模块的理解
2019/03/13 Javascript
ES6 proxy和reflect的使用方法与应用实例分析
2020/02/15 Javascript
python创建临时文件夹的方法
2015/07/06 Python
python库lxml在linux和WIN系统下的安装
2018/06/24 Python
对Python subprocess.Popen子进程管道阻塞详解
2018/10/29 Python
python中强大的format函数实例详解
2018/12/05 Python
对python打乱数据集中X,y标签对的方法详解
2018/12/14 Python
Python中面向对象你应该知道的一下知识
2019/07/10 Python
Django url,从一个页面调到另个页面的方法
2019/08/21 Python
Django实现内容缓存实例方法
2020/06/30 Python
使用Python操作MySQL的小技巧
2020/09/10 Python
Python list和str互转的实现示例
2020/11/16 Python
python中requests模拟登录的三种方式(携带cookie/session进行请求网站)
2020/11/17 Python
python元组拆包实现方法
2021/02/28 Python
详解CSS3阴影 box-shadow的使用和技巧总结
2016/12/03 HTML / CSS
用canvas做一个DVD待机动画的实现代码
2019/04/12 HTML / CSS
计算机求职自荐信范文
2014/04/19 职场文书
家庭财产分割协议范文
2014/11/24 职场文书
Nginx报404错误的详细解决方法
2022/07/23 Servers