字符串
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对象或数组模块