Python(2)字符串

字符串的编码

使用内置函数 ord()可以把字符转换成对应的Unicode 码;
使用内置函数 chr()可以把十进制数字转换成对应的字符。
len()用于计算字符串含有多少字符。
使用*可以实现字符串复制。
不换行打印:通过参数 end = “任意字符串”,实现末尾添加任何内容。

从控制台读取字符串

使用 input()从控制台读取键盘输入的内容。
在这里插入图片描述

使用[]提取字符

字符串的本质就是字符序列,我们可以通过在字符串后面添加[],在[]里面指定偏移量, 可以提取该位置的单个字符。
正向搜索: 最左侧第一个字符,偏移量是 0,第二个偏移量是 1,以此类推。直到 len(str)-1 为止。
反向搜索: 最右侧第一个字符,偏移量是-1,倒数第二个偏移量是-2,以此类推,直到**-len(str)**为止。

replace()实现字符串替换

a = a.replace(‘c’,‘高’)
整个过程中,实际上我们是创建了新的字符串对象,并指向了变量a,而不是修改了以前的字符串。

字符串切片slice操作

在这里插入图片描述
切片操作时,起始偏移量和终止偏移量不在[0,字符串长度-1]这个范围,也不会报错。起始偏移量小于0则会当做 0,终止偏移量大于“长度-1”会被当成-1。
1、将”to be or not to be”字符串倒序输出

>>> b="to be or not to be"
>>> b[::-1]
'eb ot ton ro eb ot'

2、 将”sxtsxtsxtsxtsxt”字符串中所有的 s输出

>>> c='sxtsxtsxtsxtsxt'
>>>> c[0::3]
'sssss'

split()分割和join()合并

split()可以基于指定分隔符将字符串分隔成多个子字符串(存储到列表中)。如果不指定分隔 符,则默认使用空白字符(换行符/空格/制表符)
在这里插入图片描述
在这里插入图片描述
拼接字符串要点: 使用字符串拼接符+,会生成新的字符串对象,因此不推荐使用+来拼接字符串。推荐使用join 函数,因为join函数在拼接字符串之前会计算所有字符串的长度,然后逐一拷贝,仅新建一次对象。

字符串驻留机制和字符串比较

仅保存一份相同且不可变字符串的方法,不同的值被存放在字符串驻留池中。 Python 支持字符串驻留机制,对于符合标识符规则的字符串(仅包含下划线(_)、字母 和数字)会启用字符串驻留机制驻留机制。

字符串比较和同一性

我们可以直接使用==,!=对字符串进行比较,是否含有相同的字符。
我们使用is / not is,判断两个对象是否同一个对象。比较的是对象的地址,即 id(obj1)是 否和 id(obj2)相等。

成员操作符

in /not in 关键字,判断某个字符(子字符串)是否存在于字符串中。

字符串常用方法

常用查找方法

在这里插入图片描述
在这里插入图片描述

去除首尾信息

通过 strip()去除字符串首尾指定信息。通过 lstrip()去除字符串左边指定信息, rstrip()去除字符串右边指定信息。

a = ‘abdcerfafafaffafeffa’
a.strip(‘a’)
‘bdcerfafafaffafeff’

a.lstrip(‘ab’)
‘dcerfafafaffafeffa’

大小写转换

在这里插入图片描述
在这里插入图片描述

格式排版

在这里插入图片描述

其他方法

在这里插入图片描述

字符串的格式化

format()基本用法

格式化字符串的函数str.format(),它增强了字符串格式化的功能。
基本语法是通过{}和:来代替以前的%。
format函数可以接受不限个参数,位置可以不按顺序。

>>> a = "我的名字是:{0},年龄是:{1}"
>>> a.format("wyy",35)
'我的名字是:wyy,年龄是:35'
>>> b = "我喜欢{name},原因是{reason}"
>>> b.format(name='编程',reason='充实')
'我喜欢编程,原因是充实'

我们可以通过{索引}/{参数名},直接映射参数值,实现对字符串的格式化,非常方便。

填充与对齐

填充常跟对齐一起使用 ^、<、>分别是居中、左对齐、右对齐,后面带宽度
:号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充

数字格式化

浮点数通过f,整数通过d进行需要的格式化。
在这里插入图片描述

可变字符串

在Python中,字符串属于不可变对象,不支持原地修改,如果需要修改其中的值,智能创建新的字符串对象。但是,经常我们确实需要原地修改字符串,可以使用 io.StringIO 对象或array 模块。

>>> import io
>>> s = 'Hello world'
>>> sio = io.StringIO(s)
>>> sio
<_io.StringIO object at 0x000001EC69E2B318>
>>> sio.getvalue()
'Hello world'
>>> sio.seek(7)
7
>>> sio.write("g")
1
>>> sio.getvalue()
'Hello wgrld'

基本运算符

在这里插入图片描述

复合赋值运算符

在这里插入图片描述

运算符优先级问题

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值