字符串

python字符串是不可改变的 Python不支持单字符类型,单字符也是作为一个字符串使用的。 

字符串编码

python3直接支持Unicode,可以表示世界上任何书面语言的字符 python3的字符默认就是16位Unicode编码,ASCII是Unicode的子集 使用内置函数 ord()可以把字符转换成对应的 Unicode码 使用内置函数 chr()可以把十进制数字转换成对应的字符

创建字符串

通过单引号或双引号创建字符串,使用两种引号的好处是可以创建本身就包含引号的字符串,而不用使用转义字符 连续三个单引号或三个双引号,可以帮助我们创建多行字符串。

> > > a ="I'm a teacher!"
>> > print(a)
I'm a teacher!
>>> b = 'my_name is "TOM"
>>> print(b)
my_name is "TOM

空字符串和len()函数

ptyhon允许空字符串存在,不包含任何字符 len()用于计算字符串有多少字符

字符串拼接

1、可以使用+将多个字符串拼接起来。例如 :'aa'+'bb'==>'aabb' 如果+两边都是字符串,则拼接 如果+两边都是数字,则加法运算 如果+两边类型不同,则抛出异常

2、可以将多个字面字符串直接放到一起实现拼接。例如 :'aa''bb'==>'aabb'

字符串复制

是用*实现字符串复制

>>>a='Sxt'*3
>>>a
'SxtSxtSxt'

不换行打印

调用print时,会自动打印一个换行符。

可以使用end = "任意字符串",实现末尾添加任何内容

print("sxt",end='') print("sxt",end='##') print("sxt") ===>sxt sxt##sxt

从控制台读取字符串

>>>myname=input("请输入名字:")
请输入名字:ys
>>>myname
'ys'

str()实现数字转字符串

>>>str(5.20)
'5.20'

[]提取字符串中的字符

>>>a = 'abcdefg' >>>a 'abcdefg' >>>a[0] 'a' >>>a[3] 'd'

replace()实现字符串的替换

>>>a.replace('c','高')
'ab高defg'

整个过程中,实际上是创建了新的字符串对象,并指向了变量a,而不是修改了以前的字符串。

切片slice操作

快速提取字符串

[起始偏移量start:终止偏移量end:步长step]

split()分割和join()合并

>>>a="to br or not to be"
>>>a.split()
['to','be','or','not','to','be']
>>>a.split('be')
['to','or not to','']
>>>a=['sxt','sxt100','sxt200']
>>>"".join(a)
'sxtsxt100sxt200'
>>>"*".join(a)
'sxt*sxt100*sxt200'

字符驻留机制

对于符合标识符规则的字符串(仅包含下划线(_)、字母和数字会启用字符串驻留机制

>>>a="abd_33"
>>>b="abd_33"
>>>a is b
True
>>>c="dd#"
>>>d="dd#"
>>>c is d
False

成员操作符in/not in

判断某个字符(子字符串)是否在于字符串中

去除首尾信息strip()

>>>" s xt ".strip()
's xt'

大小写转换

示例

说明

a.capitalize()

产生新的字符串,首字母大写

a.title()

产生新的字符串,每个单词的首字母都大写

a.upper()

产生新的字符串,所有字符都转成大写

a.lower()

产生新的字符串,所有字符都转成小写

a.swapcase()

产生新的字符串,所有字符都大小写转换

格式排版

center()、ljust()、rjust()

>>>a="恋与深空"
>>>a.center(20,'*')

可变字符串

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