Featured image of post 字符串的使用

字符串的使用

Usage of strings

1. 字符串的使用

1.1 字符串的定义

方式一: 单引号

1
s = 'Hello, world'

方式二: 双引号

1
s2 = "Python string"

方式三: 三引号 (支持换行)

1
2
s3 = '''This is a multiline\nstring'''
s4 = """This is also\na multiline string"""

方式四: 使用 str() 创建空字符串

1
s5 = str()

注意:

  • 单引号和双引号之间没有区别
  • 三引号支持换行
  • 字符串中含有引号时要用另一种引号包裹
1
2
s6 = "He said: 'Hi'"
s7 = 'She replied: "Hello"'

1.2 字符串的切片与索引

正向和反向索引

1
2
3
s = 'abcdefg'
char3 = s[2]      # 'c'
last_char = s[-1] # 'g'

切片操作

1
2
3
4
s = 'ni hao python'
res1 = s[3:6]     # 'hao'
res2 = s[-3:-1]   # 'ho'
res3 = s[::4]     # 'nht'

切片语法:

1
2
3
4
s[start:end]        # 包含 start, 不包含 end
s[:end]             # 从开头到 end
s[start:]           # 从 start 到末
s[start:end:step]   # 每 step 步变化

切片要点:

  • 切片包含起始值,不包含结束值
  • 不写 start 表示从开头
  • 不写 end 表示到末

1.3 字符串的拼接

+

1
2
3
name = 'Tom'
age = 20
res = 'Name: ' + name + ', Age: ' + str(age)

join()

1
res = ''.join(['Name: ', name, ', Age: ', str(age)])

join() 只能拼接字符串类型,非字符串需先转换


1.4 字符串格式化

f-表达式

1
2
3
4
5
name = 'Alice'
age = 30
height = 165.567

res = f'姓名: {name}, 年龄: {age}, 身高: {height:.1f} cm'

format()

1
2
3
4
5
name = 'Bob'
age = 25
height = 175.234

res = 'Name: {}, Age: {}, Height: {:.2f} cm'.format(name, age, height)

常用格式化

格式 效果 描述
{:.2f} 5.11 保留小数两位
{:<10} 左对齐 左对齐 (宽度 10)
{:>10} 右对齐 右对齐
{:^10} 居中对齐 中心对齐

1.5 特殊字符

\n - 换行

1
2
text = "第一行\n第二行"
print(text)

\t - 制表符

1
2
text = "Name\tAge\tCity\nTom\t18\tNY"
print(text)

r’’ - 原始字符串

1
2
raw = r'C:\\path\\to\\file'
print(raw)

1.6 常用字符串方法

方法 描述
join 字符串拼接
find 查找字符串位置
count 计数字符串次数
replace 替换字符
split 分割字符串
format 格式化输出
strip 去除首尾空格
upper 转大写
lower 转小写

1.7 练习题

练习 1: 创建不同形式字符串

1
2
3
4
5
6
s1 = 'abc'
s2 = "def"
s3 = '''ghi\njkl'''
s4 = """123\n456"""
s5 = str()
print(s1, s2, s3, s4, f'empty: "{s5}"')

练习 2: 切片

1
2
3
4
5
text = "Python programming is fun"
print(text[2:6])   # 'thon'
print(text[4:])    # 'on programming is fun'
print(text[:4])    # 'Pyth'
print(text[-3:])   # 'fun'

练习 3: 拼接

1
2
3
4
5
6
7
8
part1 = "Hello"
part2 = "World"
part3 = "!"

res1 = part1 + " " + part2 + part3
res2 = " ".join([part1, part2, part3])
print(res1)
print(res2)

练习 4: 格式化

1
2
3
4
5
6
7
8
name = "Alice"
age = 30
city = "New York"

info1 = f"Name: {name}, Age: {age}, City: {city}"
info2 = "Name: {}, Age: {}, City: {}".format(name, age, city)
print(info1)
print(info2)

练习 5: 字符串操作

1
2
3
4
5
6
7
data = "   Python is great! Python is fun!   "
print(data.find("great"))
print(data.count("Python"))
print(data.replace("Python", "Java"))
print(data.split(" "))
print(data.strip().upper())
print(data.strip().lower())
本作品采用知识共享署名-非商业性使用-相同方式共享4.0国际许可协议进行许可(CC BY-NC-SA 4.0)
文章浏览量:Loading
Powered By MC ZBD Studio
发表了43篇文章 · 总计69.19k字
载入天数...载入时分秒...
总浏览量Loading | 访客总数Loading

主题 StackJimmy 设计
由ZephyrBD修改