【Python基础011】Python中字符串的具体用法

发布时间:2023年12月30日

1、创建

????????字符串的创建共有3种方式

????????1)单/双引号创建短字符串

s = 'hello world'

s = “hello world”

????????2)三个单/双引号创建短字符串

????????三个单/双引号一般用于多行文本的注释,如果将这样的字符串用print打印,或者赋给一个变量,会输出一个长字符串,同时这个长字符串还将保留原始的格式。

s = '''hello



              world'''

????????3)转化生成

????????可以使用str()函数将其他形式的变量转化为字符串

d = 12141252

s = str(d) # '12141252'

2、转义字符

????????转义字符通常用于在字符串中指定换行符,制表符或者在字符串中需要出现引号的情景,具体实现为“\ +特殊字符”

转义字符描述
\(在行尾时)续行符
\\反斜杠符号
\'单引号
\"双引号
\b退格(Backspace)
\t制表符
\r回车
\n换行符
a = 'I\nLove\nPython' # \n 换行符

print(a)

b = "aa\tbb\tcc" # \t 制表符

print(b)

c = 'Let\'s go' # 单引号中同时包含单引号使用'进行转义

print(c)

3、拼接

????????连接字符串可以使用(+),也就是字符串的加法运算。还可以将多个字面字符串直接放到一起实现拼接。

a='Hello'

b='World'

c=a+b # 使用加号进行字符串拼接

print(c)

c='Hello''World' # 将多个字面字符串直接放到一起实现拼接

print(c)

4、复制

????????Python 中使用*可以实现字符串复制。

a = 'Python'*3

print(a)

5、下标与切片

????????所有序列类型都可以进行某些特定的操作,这些操作包括:索引、切片以及检查某个元素是否属于序列的成员。

????????1) 下标即索引

????????字符串的本质就是字符序列,可以通过在字符串后面添加[],在[]里面指定偏移量,可以提取该位置的单个字符。

????????正向搜索:

????????????????最左侧第一个字符,偏移量是0,第二个偏移量是1,以此类推。直到len(str)-1 为止。

????????反向搜索:

????????????????最右侧第一个字符,偏移量是-1,倒数第二个偏移量是-2,以此类推,直到-len(str)为止。

????????2)字符串的切片

????????字符串的截取是实际应用中经常使用的技术,被截取的部分称为“子串”。Python 可以通过切片获取子串。切片与使用索引来访问单个元素类似,语法格式如下,其中string 表示需要取子串的源字符串变量。? ?

?string[start:end:step]

????????1) start、end、step 三个参数为正数时表示从string 的第start 个索引位置开始到第end 个索引之间截取子串(包括start 不包括end),截取的步长是step。

s='ILOVEPYTHON'

print(s[:]) # start 和end 都省略,截取整个字符串输出结果:ILOVEPYTHON

print(s[2:]) # end 省略,从start 开始到结束输出结果:OVEPYTHON

print(s[:2]) # start 省略从0 开始到end-1 输出结果:IL

print(s[2:4]) # 从start 开始到end-1 输出结果:OV

print(s[1:5:2]) # 从start 提取到end-1,步长是step 输出结果:LV

????????2) start、end、step 三个参数为负数时表示从string 的倒数第start 个索引位置开始到倒数第end 个索引之间截取子串(包括start 不包括end),截取的步长是step,最后一个元素的索引为-1。

s='ILOVEPYTHON'

print(s[-3:]) # 从倒数第三个开始到结束输出结果HON

print(s[-8:-3]) # 从倒数第八个开始到倒数第四个输出结果VEPYT

print(s[::-1]) # 步长为-1,从右向左截取输出NOHTYPEVOLI

6、格式化

????????1)format 基本用法

????????Python2.6 开始,新增了一种格式化字符串的函数str.format(),它增强了字符串格式化的功能。字符串格式化参数并不是用百分号(%)表示,而是用一对大括号({}),而且支持按顺序指定格式化参数关键字格式化参数

????????a.顺序指定格式化参数

? ? ? ?

?print(“{0} {1} {2}”.format(11,22,33)) # 运行结果:11 22 33

print(“{1} {0} {2}”.format(11,22,33)) # 运行结果:22 11 33

????????上面的代码在字符串中指定了三对空的大括号,这代表三个格式化参数,不需要指定数据类型,可以向其传递Python 语言支持的任何值。通过format 方法传入三个值(11,22,33),这三个值会按顺序替换格式化字符串中的三对空的大括号。

????????b.关键字格式化参数

????????命名格式化参数是指在一对大括号中指定一个名称,然后调用format 方法时也要指定这个名称。

print(“{a} {b} {c}”.format(a=1,b=2,c=3)) # 运行结果是:1 2 3

????????上面的代码在三对大括号中分别添加了“a”“b”“c”。通过format 方法指定了这三个关键字参数的值。可以看到,并没有按顺序指定关键字参数的值。这也是使用关键字参数的好处。只要名字正确,format 参数的顺序可以任意指定。当然顺序方式和关键字参数方式可以混合使用,而且还可以指定顺序方式中格式化参数从format 方法提取参数值的顺序,甚至可以取format 方法参数值的一部分。

s="我叫{0},今年{1}岁"

print(s.format('张三',23,13000))

c = "我的名字是{name},年龄是{age}"

print(c.format(age=19,name='李四'))

????????2)format 填充对齐

????????format 方法还可以控制值的左、中、右对齐, “^”、“<”、“>”分别是居中、左对齐、右对齐,后面带宽度。

????????语法:????????

‘{:X<>^x}.format('xx')’

????????X为填充的字符,只能是一个字符,不指定的话默认是用空格填充。

print("{:*>8}".format("245"))

print("{:#^20}".format("Python"))

????????3) 数字格式化

????????format 方法还支持很多其他的控制符,例如,可以将整数按浮点数输出。

数字格式输出描述
1.23456789{:.3f}1.234保留小数点后三位
-1.23456789{:-.3f}-1.234带符号保留小数点后三位
1.23456789{:.0f}1不带小数
6{:0>5f}00006数字补零,填充左边,总宽度为5
6{:a<3f}6aa数字补a,填充右边,总宽度为3
1000000{:,}1,000,000以逗号分隔的数字格式
0.23{:.2%}23.00%百分比格式
1000000{:.2e}1.00E+06科学计数法
16{:5d}? ?16右对齐,宽度5
16{:<5d}16左对齐,宽度5
16{:^5d}? 16??居中对齐,宽度5
a = "我是{0},我身高{1:.2f}"

print(a.format("张三",1.734))

文章来源:https://blog.csdn.net/m0_46489757/article/details/135299213
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。