python3字符串str的使用
(1) 基本使用
[a].
python 中单引号 '
和双引号 "
使用完全相同;[b].
使用三引号(单或双)可以指定一个多行字符串;
# 长字符串
print('''
jkl
fsf
fs
fs
''')
[c].
反斜杠可以用来转义,使用r(raw)可以让反斜杠不发生转义;如 r"this is a line with \n" 则 \n 会显示,并不是换行;
print(r"Hello\nWorld")
[d].
按字面意义级联字符串,如 "this " "is " "string"
会被自动转换为 this is string;[e].
字符串可以用 + 运算符连接
在一起,用 * 运算符重复
;
string1 = "Hello"
string2 = "World"
print(string1+string2)
print(string1*2)
[f].
python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始
;[g].
与 C 语言中字符串不同,Python 字符串不能被改变
。向一个索引位置赋值,比如 string[0] = ‘H’ 会导致错误。
string="HelloWorld"
string[0]='H'
[h].
python 没有单独的字符类型
,一个字符就是长度为 1 的字符串;
(2) 字符串截取
字符串的截取的语法格式如下:
变量[头下标:尾下标:步长];
字符串截取遵循左闭右开
的原则,比如str[0:2],用数学集合来表示,就是[0,1],截取的就是索引为0和1的字符,不包括索引为2的字符。
str="0123456789"
print(str[2:5]) # [2,5) 输出234,不包括索引5指代的字符
print(str[:-1]) # [0, -1) 不包括最后一个字符
(3) 字符串运算符
操作符 | 描述 |
+ | 字符串连接 |
* | 重复输出字符串 |
[] | 通过索引获取字符串中字符 |
[:] | 截取字符串中的一部分,遵循左闭右开原则 |
| 成员运算符 - 如果字符串中包含给定的字符返回 True |
| 成员运算符 - 如果字符串中不包含给定的字符返回 True |
r/R | 原始字符串 |
% | 格式字符串 |
(4) 字符串格式化
[a].
一般形式
name= "HelloWorld"
print("name is:>", name)
# 输出:> name is:> HelloWorld
[b].
在 python 中,字符串格式化使用与 C 中 sprintf 函数一样的语法。
print("age is:> %d." %13) # ((%13), (% 13)都可以, 有无括号均可以)
print("name:> %s, age:> %d." %('Zhang', 12))
python字符串格式化符号:
%c: 格式化字符及其ASCII码
%s:格式化字符串
%d: 格式化整数
%u:格式化无符号整型
%f:格式化浮点数字,可指定小数点后的精度
%x:格式化无符号十六进制数
。。。。。。
更多请参考文章:https://www.runoob.com/python3/python3-string.html
[c].
f-string,字面量格式化字符串
f-string 是 python3.6 之后版本添加的,称之为字面量格式化字符串,是新的格式化字符串的语法。f-string 格式化字符串以f开头
,后面跟着字符串
,字符串中的表达式用大括号 {} 包起来,它会将变量或表达式计算后的值替换进去
。
name= "Tom"
print(f'Hello, {name}') # name是变量
w = {'name': 'TaoBao', 'url': 'www.taobao.com'}
print(f'{w["name"]}: {w["url"]}') # name, url是变量
很明显,用了这种方式明显更简单了,不用再去判断使用 %s,还是 %d。
[d].
str.format()函数的使用
python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。
print("{},{} and {}".format("first", "second", "third"))
print("{2},{1} and {0}, {0}".format("first", "second", "third"))
print("name is {name} and age is {age}.".format(age=24, name="SunSan"))
print("{num:10}".format(num=100)) # :10表示数值100宽度占10格
print("{value:10.2f}".format(value=3.1342)) # :10.2f表示value占10格,并且保留两位小数
print("One googol is {:,}".format(10**100)) # 使用逗号来指出你要添加的千分位分隔符
(5) 三引号
三引号让程序员从引号和特殊字符串的泥潭里面解脱出来,自始至终保持一小块字符串的格式是所谓的WYSIWYG(所见即所得
)格式的。
一个典型的用例是,当你需要一块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) Python 的字符串内建函数
**python 的字符串常用内建函数如下:
capitalize()、
center(width, fillchar)、
count(str, beg= 0,end=len(string))、
bytes.decode(encoding=“utf-8”, errors=“strict”)
**
具体参考官方文档API解析,此处不再赘述。
https://docs.python.org/3.9/library/stdtypes.html#text-sequence-type-str
go