1、字符串的定义
单引号、双引号、三引号都可以用来定义字符串。
>>> s1 = 'abc'
>>> s2 = "abc"
>>> s3 = '''abc'''
>>> print(s1,s2,s3)
abc abc abc
>>> print(id(s1),id(s2),id(s3))
2054612827504 2054612827504 2054612827504
2、字符串运算符
+(拼接)、*(复制)、in(包含)、not in(不包含)、%(字符串的格式化)
>>> s1 = 'abc'
>>> s2 = 'def'
>>> s1 + s2
'abcdef'
>>> s1 * 3
'abcabcabc'
>>> s = 'abcabcabc'
>>> s1 in s
True
>>> s2 in s
False
>>> s2 not in s
True
3、字符串的内建函数
(1)capitalize() : 将字符串的第一个字符转为大写字母;
title() : “标题化” 字符串,将字符串中每个单词的首字母变成大写;
istitle() : 判断是否为标题;
upper() : 将字符串的字符转为大写;
isupper() : 判断字符串是否为大写字母;
lower() : 将字符串的字符转为小写;
islower() : 判断字符串是否为小写字母;
len() : 获得字符串长度;
>>> s1 = 'hello world!'
>>> s1.capitalize()
'Hello world!'
>>> s1.istitle()
False
>>> s1.title()
'Hello World!'
>>> s1.upper()
'HELLO WORLD!'
>>> s1.isupper()
False
>>> s1.lower()
'hello world!'
>>> s1.islower()
True
>>> len(s1)
12
(2)查找、替换函数
find() : 返回 -1,表示没有找到;反之,返回第一次找到的位置下标;
rfind() : 从字符串的右侧开始查找
index() : 查找字符串第一次出现的下标,找不到,则抛出 ValueError 异常 ;
replace(old,new,[,max]) : 用新的字符串替换旧的字符串;
>>> s = 'aaabbbcccbbbaaa'
>>> s1 = 'bbb'
>>> s.find(s1)
3
>>> s.rfind(s1)
9
>>> s.index(s1)
3
>>> s.index('ddd')
Traceback (most recent call last):
File "<pyshell#139>", line 1, in <module>
s.index('ddd')
ValueError: substring not found
>>> s.replace('aaa','bbb')
'bbbbbbcccbbbbbb'
>>> s
'aaabbbcccbbbaaa'
(3)编码、解码函数
encode(encoding='utf-8',errors='strict') : 编码函数,若出现错误,则默认抛出 ValueError 异常,也可以将 errors 的值设为 ’ignore‘ 或 ’replace‘,此时出错将不抛出异常;
decode() : 解码函数;
(4)判断函数,返回值为 True/False
startwith() : 判断是否以...为开始;
endwith() : 判断是否以...结束;
isalnum() : 如果一个字符串非空,并且所有的字符都是数字或字母,则返回 True,反之,返回 False;
isalpha() : 如果一个字符串非空,并且所有的字符都是字母,则返回 True,反之,返回 False;
isdigit() : 检测字符 c 是否为数字,若是则返回 True,反之,返回 False;
isnumeric() : 若字符串中只包含数字字符,则返回 True,反之,返回 False;
(5)seq.join(str) : 将字符串中的字符以指定的分隔符 seq 分隔,并合并成一个新的字符串输出;
>>> s = 'abcdef'
>>> s
'abcdef'
>>> ' '.join(s)
'a b c d e f'
(6)字符串截断函数
strip() : 截掉字符串两边的空格或指定字符;
lstrip() : 截掉字符串左侧的空格或指定字符;
rstrip() : 截掉字符串右侧的空格或指定字符;
>>> s = ' aaabbbcccbbbaaa '
>>> s.lstrip()
'aaabbbcccbbbaaa '
>>> s.rstrip()
' aaabbbcccbbbaaa'
>>> s.strip()
'aaabbbcccbbbaaa'
(7)分割字符串
split(str,maxsplit=-1) : 以 str 为分隔符,对字符串进行分割,并以列表形式返回,maxsplit 为最大分割参数;
count('') : 求字符串中指定字符/字符串的个数;
>>> s = 'aaabbbcccbbbaaa'
>>> s.count('a')
6
>>> s.count('aa')
2
>>> s.split('bbb')
['aaa', 'ccc', 'aaa']
>>> s.split('bbb',2)
['aaa', 'ccc', 'aaa']
>>> s.split('bbb',1)
['aaa', 'cccbbbaaa']