字符串:
1、字符串的本质是字符序列,python中的字符串是不可变的,无法修改
2、编码:python3直接支持Unicode编码(16位,ASCII码为八位,是Unicode的子集)
ord(),将字符转换成Unicode码; chr(),将数字(Unicode码)转换成字符
3、创建:使用单引号或双引号创建;多行创建:连续三个单引号或双引号
len(),用于计算字符串的长度
4、拼接、复制:“+”,例:'a'+'b'-------->'ab'; “ * ”,例:'ab'*3-------->'ababab'
5、从控制台读取字符串:input()
6、字符,使用 [ ] 可以提取字符串内单个字符,[ ] 内指定偏移量
偏移量:
正向搜索:从左至右,第一个为零,最后一个为字符串长度减一,即 len(str)-1
反向搜索:从右至左,第一个为-1,最后一个为负的字符串长度,即 -len(str)
7、替换(replace()函数)
python中字符串是不可改变的,replace()函数其实是创建了一个新的字符串
>>> a='abcdefghijklmnopqrstuvwxyz'
>>> a.replace('b','二')
'a二cdefghijklmnopqrstuvwxyz'
此时a指向的是新字符串 'a二cdefghijklmnopqrstuvwxyz' ,即a内的地址变为新字符串的地址
8、切片,用来提取子字符串,标准格式:[起始偏移量 start : 终止偏移量 end : 步长 step](步长为一时一般省略不写)
'abcdef'[2:5]------->'cde' (包头不包尾)
9、分割与合并 split()和join() 示例如下:
>>>a="dfgg yfuj idnf"
>>> a.split() #注(6)
['dfgg', 'yfuj', 'idnf']
>>> b=a.split ('f')
>>> b
['d', 'gg y', 'uj idn', '']
>>> c='f'.join(b)
>>> c
'dfgg yfuj idnf'
注:
(1)python中单个字符也是字符串,长度为一
(2)单双引号的互用可以避免与本身含有引号的字符串冲突
>>> a="I'm learning English."
>>> b='Her name is "Lili"'
>>> print(a)
I'm learning English.
>>> print(b)
Her name is "Lili"
(3)“+”两边如果是数字,则相加,如果是字符,则拼接,如果类型不同,则报错
(4)类型转换:int(),float(),str() 将括号内的数字(包括布尔值)转换为相应的类型,
(5) a='abcdefghijklmn' a[4]='e' a[:]='abcdefghijklmn' a[4:]='efghijklmn' a[:4]='abcd' a[2:8:2]='ceg' a[-3:]='lmn' a[-10:-5]='efghi' a[-10:-5:-1]='ihgfe'
(6)如果不指定分隔符,split()函数则默认使用空白字符(换行符、空格、制表符)
(7)字符拼接:'+'与join(),使用拼接符 '+' 每次都会生成新的字符串对象,而使用join函数会在拼接字符串之前计算所有字符串的长度,然后逐一拷贝,仅新建一次对象,所以大量拼接字符时,使用join函数更好