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

yipeiwu_com7年前Python基础

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')来进行格式化。

相关文章

详解Django配置优化方法

详解Django配置优化方法

​一、使用多个setting文件  开发Django项目是最常见,也是最麻烦的一个问题就是如何区分开发配置与线上配置。有一些解决方案是利用配置文件是py文件这个特性...

Python使用get_text()方法从大段html中提取文本的实例

如下所示: <textarea rows="" cols="" name="id"><DIV style="TEXT-INDENT: 18pt; mso-char-...

python中列表和元组的区别

如果有了解过python中的列表和元组,你可能会知道相对于列表,元组是不可变的,也就是说元组中的数据不能随意更改。除了列表是用中括号表示而元组是用小括号表示之外,这两种数据类型好像并没有...

Python API 自动化实战详解(纯代码)

Python API 自动化实战详解(纯代码)

主要讲如何在公司利用Python 搞API自动化。 1.分层设计思路 dataPool :数据池层,里面有我们需要的各种数据,包括一些公共数据等 config :基础配置 tools :...

用Python抢火车票的简单小程序实现解析

利用Python制作自动抢火车票小程序,过年再也不要担心没票了! 前言 每次过年很多人都会因为抢不到火车票而回不了家,所以小编利用Python写了一个自动抢火车票的工具,希望大家能抢到...