字符串
字符串 一组由字符构成的序列,Python中的字符串是不可变的,在一些编程语言中,字符和字符串是两个不同的概念,如C语言使用单引号将字符括起来,使用双引号包含字符串。但在Python中,只有字符串这一个概念
字符串是常用的数据类型之一,开发者可以使用单引号或双引号来创建字符串。创建字符串 即为变量分配一个值
a = "hello world"
b = 'Hello world'
当字符串为一个段落时,并想保留原格式,则可以使用三重引号来表示
str1 ="""
原来你是我
最想留住的幸运
"""
print(str1)
字符串的基本操作
1.字符串元素读取
与列表相同,使用索引可以直接访问字符串的元素 字符串[索引]
a = 'hello world'
print(a[6])
print(a[6:12])
字符串切片
字符串的切片就是从字符串中分离出部分字符,操作方法与列表相同
采取 字符名[起始索引:结束索引:步长]
倒序索引时 步长为负值
str = "123456789"
print(str[0:6:2]) # 从0号索引开始到6号索引结束
print(str[:]) # 输出原始字符串
print(str[-1:-10]) # 从-1开始,到-10结束,步长默认为1
print(str[-1:-10:-1]) # 将字符串逆序输出
运行结果
135
123456789987654321
字符串的定义方式
字符串两端的引号必须成对存在(一对单/双引号)
同时在字符内部出现单/双引号时应与外部引号不同
strx = 'I'm xuanxuan'
SyntaxError: unterminated string literal (detected at line 1)
strx = "I'm xuanxuan"
解决方法:转义字符 在特殊符号前加入转义字符“\”
如果要取消字符串中转义字符的作用,在字符串前加r或R
print("C\tea\redtea")
print(r"C\tea\redtea")
edtea
C\tea\redtea
多行字符串
多行字符串由三引号引起(单/双)
打印时多行字符串内所有内容全部以原始字符形态输出
字符串格式化
格式化输出:内容按照一定格式要求进行输出
模板字符串.format(参数列表)
format()方法接收位置参数和关键字参数
# 我害怕你心碎没人帮你擦眼泪
love = "{0}害怕{1}心碎没人帮{2}擦眼泪".format("我","你","你")
love1 = "{}害怕{}心碎没人帮{}擦眼泪".format("我","你","你")
love2 = "{0}害怕{a}心碎没人帮{b}擦眼泪".format("我",a="你",b="你")
love3 = "{b}害怕{a}心碎没人帮{b}擦眼泪".format(a="你",b="你")
如果括号中没有序号则按顺序默认排序(位置参数),另外,也可以综合位置参数和关键字参数在一起使用,但要注意的是,如果将位置参数和关键字参数综合在一起使用,那么位置参数必须在关键字参数之前,否则就会出错
format()方法模板字符串的空位中不仅可以填写参数序号,还有其他的格式处理形式
填充与对齐
- “<” 为左对齐
- “>” 为右对齐
- “^”为居中对齐
{索引:[填充字符][对齐方式][宽度]}
当索引{}为空,默认按照顺序取值
#print("{索引:[填充字符][对齐方式][字符长度]}".format("这是一个字符串"))
print("{0:-<16}".format("这是一个字符串"))
print("{0:-^16}".format("这是一个字符串"))
print("{0:->16}".format("这是一个字符串"))
数字格式化
#保留2位有效数字
print("{:.2f}".format(3.14159265))
#转成二进制
print('{0:b}'.format(16))
#转成八进制
print('{0:o}'.format(10))
#转成十六进制
print('{0:x}'.format(2))
print('九九乘法表')
for i in range(1,10):
for j in range(1,i+1):
print('%d*%d=%d'%(j,i,i*j),end='\t')
print('')
%d*%d=%d 是字符串的格式化
f字符串 (f-strings)
f字符串用{}来指定被替换的内容
在模板前加上f或F{}中填入需输出的变量
Python字符串的方法及含义
print('九九乘法表')
i = 1
while i <= 9:
j = 1
while (j <= i):
print(f'{i}*{j}={i * j}', end='\t')
j += 1
print('')
i += 1