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")

python中+str()+ python中str的用法_开发语言

[d]. 按字面意义级联字符串,如 "this " "is " "string" 会被自动转换为 this is string;
[e]. 字符串可以用 + 运算符连接在一起,用 * 运算符重复

string1 = "Hello"
string2 = "World"
print(string1+string2)
print(string1*2)

python中+str()+ python中str的用法_格式化字符串_02

[f]. python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始
[g]. 与 C 语言中字符串不同,Python 字符串不能被改变。向一个索引位置赋值,比如 string[0] = ‘H’ 会导致错误。

string="HelloWorld"
string[0]='H'

python中+str()+ python中str的用法_python中+str()+_03


[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) 不包括最后一个字符

python中+str()+ python中str的用法_python_04

(3) 字符串运算符


操作符

描述

+

字符串连接

*

重复输出字符串

[]

通过索引获取字符串中字符

[:]

截取字符串中的一部分,遵循左闭右开原则

in

成员运算符 - 如果字符串中包含给定的字符返回 True

not in

成员运算符 - 如果字符串中不包含给定的字符返回 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中+str()+ python中str的用法_python中+str()+_05

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是变量

python中+str()+ python中str的用法_字符串_06


很明显,用了这种方式明显更简单了,不用再去判断使用 %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))    # 使用逗号来指出你要添加的千分位分隔符

python中+str()+ python中str的用法_python_07

(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

python中+str()+ python中str的用法_开发语言_08