在Python2中,普通字符串是以8位ASCII码进行存储的,而Unicode字符串则存储为16位unicode字符串,这样能够表示更多的字符集。使用的语法是在字符串前面加上前缀 u。
在Python3中,所有的字符串都是Unicode字符串。
1.切片
str[start,end]
2.字符串运算符
(1) +
字符串拼接
str1+str2
(2)*
str*num 字符串str的num倍数,重复输出
(3)r/R
引号里的字符串原格式输出(忽略转义字符等)
print(R'xxxx')
(4)in / not in
a in b,返回bool类型
3.转义字符 \
比较常用的:
(1)\n 换行
(2)\ 续行符(在行尾部时)
>>> print("line1 \
... line2 \
... line3")
line1 line2 line3
>>>
(3)\r 回车 (将后边的字符移动到字符串开头)
>>> print("Hello\rWorld!")
World!
>>> print('google runoob taobao\r123456')
123456 runoob taobao
4.字符串格式化
(1)%:最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中
#!/usr/bin/python3
print ("我叫 %s 今年 %d 岁!" % ('小明', 10))
(2)f-string:以 f 开头,后面跟着字符串,字符串中的表达式用大括号 {} 包起来,它会将变量或表达式计算后的值替换进去
>>> name = 'Runoob'
>>> f'Hello {name}' # 替换变量
'Hello Runoob'
>>> f'{1+2}' # 使用表达式
'3'
>>> w = {'name': 'Runoob', 'url': 'www.runoob.com'}
>>> f'{w["name"]}: {w["url"]}'
'Runoob: www.runoob.com'
5.三引号
三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符
#!/usr/bin/python3
para_str = """这是一个多行字符串的实例
多行字符串可以使用制表符
TAB ( \t )。
也可以使用换行符 [ \n ]。
"""
print (para_str)
结果:
这是一个多行字符串的实例
多行字符串可以使用制表符
TAB ( )。
也可以使用换行符 [
]。
应用:需要一块HTML或者SQL时可以使用三引号
errHTML = '''
<HTML><HEAD><TITLE>
Friends CGI Demo</TITLE></HEAD>
<BODY><H3>ERROR</H3>
<B>%s</B><P>
<FORM><INPUT TYPE=button VALUE=Back
ONCLICK="window.history.back()"></FORM>
</BODY></HTML>
'''
cursor.execute('''
CREATE TABLE users (
login VARCHAR(8),
uid INTEGER,
prid INTEGER)
''')
6.字符串内建函数
(1)count(str, beg= 0,end=len(string))
返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数
(2) find(str, beg=0, end=len(string))
检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1
(3)join(seq)
以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
a.join(b)
a是字符串
b是列表、元组
print('p'.join(['1','3','4']))
输出:
1p3p4
(4)split(str=“”, num=string.count(str))
以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num+1 个子字符串
c = 'wuuuw,jsj,j'
print(c.split(','))
输出:
['wuuuw', 'jsj', 'j']
更多函数请参考 https://www.runoob.com/python3/python3-string.html
join()和split()区别
join()是使用固定间隔连接列表/元组的元素
split()是用固定的符号把字符串分割成列表