5-2.Python 编码进阶 - 字符串进阶(拼接、普通格式化、普通格式化数字精度控制、快速格式化、遍历、常用方法)

一、字符串拼接

1、基本介绍
  1. 字符串可以通过加号 + 进行拼接,字符串类型无法和非字符串类型直接通过加号 + 进行拼接

  2. 可以通过 str 函数将非字符串类型转换成字符串类型之后通过加号 + 进行拼接

2、演示
python 复制代码
name = "jack"
age = 20
score = 90.5

print("我的名字是 " + name)
print("我的名字是 " + name + ",我今年 " + str(age) + " 岁")
print("我的名字是 " + name + ",我今年 " + str(age) + " 岁,我的成绩是 " + str(score))
复制代码
# 输出结果

我的名字是 jack
我的名字是 jack,我今年 20 岁
我的名字是 jack,我今年 20 岁,我的成绩是 90.500000

二、字符串普通格式化

1、基本介绍
  • 此方式比【通过加号 + 进行拼接】更加方便,使用占位符来进行非字符串类型的格式化
占位符 说明
%s 将内容转换成字符串,放入占位位置
%d 将内容转换成整数,放入占位位置
%f 将内容转换成浮点数,放入占位位置
2、演示
  • 注:多个变量占位,变量要用括号 () 括起来,并按照占位的顺序填入,使用逗号 , 分隔
python 复制代码
name = "jack"
age = 20
score = 90.5

print("我的名字是 %s" % name)
print("我的名字是 %s,我今年 %d 岁" % (name, age))
print("我的名字是 %s,我今年 %d 岁,我的成绩是 %f" % (name, age, score))
复制代码
# 输出结果

我的名字是 jack
我的名字是 jack,我今年 20 岁
我的名字是 jack,我今年 20 岁,我的成绩是 90.500000

二、字符串普通格式化数字精度控制

1、问题引入
  • 上面案例中的 score = 90.5 格式化后为 90.500000,其实我们并不想要这么多位,希望对数字进行精度控制
2、基本介绍
  • 使用辅助符号 m.n 来控制数据的宽度和精度
符号 说明
m 控制宽度,小数点和小数部分也加入宽度计算 当设置的宽度小于数字自身时,不生效
.n 控制小数点精度,会进行小数的四舍五入
示例 说明
%5d 表示将宽度设置为 5 位 例如,对数字 11 设置,结果是:【空格】【空格】【空格】11,3 个空格补足宽度
%7.2f 表示将宽度设置为 7 位,将小数点精度设置为 2 位 例如,对数字 11.345 设置,结果是:【空格】【空格】11.35,2 个空格补足宽度,小数部分四舍五入为 .35
%.2f 表示不限制宽度,将小数点精度设置为 2 位 例如,对数字 11.345 设置,结果是:11.35,小数部分四舍五入为 .35
3、演示
python 复制代码
print("%5d" % 11)
复制代码
# 输出结果

   11
python 复制代码
print("%1d" % 11)
复制代码
# 输出结果

11
python 复制代码
print("%7.2f" % 12.345)
复制代码
# 输出结果

  12.35
python 复制代码
print("%0.2f" % 12.345)
复制代码
# 输出结果

12.35

三、字符串快速格式化

1、基本介绍
  • 此方式比【字符串普通格式化】和【通过加号 + 进行拼接】更加方便,更加强大
  1. 快速格式化变量
python 复制代码
f"{【变量】}"
  1. 快速格式化表达式
python 复制代码
f"{【表达式】}"
2、演示
  1. 快速格式化变量
python 复制代码
name = "tom"
age = 15
score = 90.5

print(f"我的名字是 {name},我今年 {age} 岁,我的成绩是 {score}")
复制代码
# 输出结果

我的名字是 tom,我今年 15 岁,我的成绩是 90.5
  1. 快速格式化表达式
python 复制代码
print(f"3 * 4 的结果是:{3 * 4}")
复制代码
# 输出结果

3 * 4 的结果是:12

四、字符串也是数据容器

1、基本介绍
  1. 字符串可以通过索引来访问,这里以字符串 Hello World 为例
- H e l l o W o r l d
索引 0 1 2 3 4 5 6 7 8 9 10
  1. 字符串不可以通过索引来修改
2、演示
  1. 字符串可以通过索引来访问
python 复制代码
str = "Hello World"

print(str[4])
print(str[8])
输出结果 复制代码
o
r
  1. 字符串不可以通过索引来修改
python 复制代码
str = "Hello World"

str[4] = "a"
复制代码
# 输出结果

TypeError: 'str' object does not support item assignment

五、字符串的遍历

1、for 循环
python 复制代码
my_str = "Hello World"

for item in my_str:
    print(item)
复制代码
# 输出结果

H
e
l
l
o
 
W
o
r
l
d
2、使用索引 + while 循环
python 复制代码
my_str = "Hello World"
index = 0

while index < len(my_str):
    print(my_str[index])
    index += 1
复制代码
# 输出结果

H
e
l
l
o
 
W
o
r
l
d
3、使用 enumerate 函数
  • 这种方式可以同时返回索引和元素
python 复制代码
my_str = "Hello World"

for index, value in enumerate(my_str):
    print(index, value)
复制代码
# 输出结果

0 H
1 e
2 l
3 l
4 o
5  
6 W
7 o
8 r
9 l
10 d

六、字符串的常用方法

1、基本介绍
编号 方法 说明
1 【字符串】.index(【指定字符串】) 查找指定字符串的索引,找不到则报错
2 【字符串】.replace(【指定字符串 1】, 【指定字符串 2】) 将字符串内的指定字符串 1,替换为指定字符串 2 不会修改原字符串,而是得到一个新的字符串
3 【字符串】.split(【指定字符串】) 按照指定字符串,对字符串进行分隔 不会修改原字符串,而是得到一个新的列表
4 【字符串】.strip() 移除字符串首尾的空格和换行符 不会修改原字符串,而是得到一个新的字符串
- 【字符串】.strip(【指定字符串】) 移除首尾的指定字符串,按照指定字符串的单个字符来确定移除 不会修改原字符串,而是得到一个新的字符串
5 【字符串】.count(【指定字符串】) 统计指定字符串在字符串中出现的次数
6 【字符串】.splitlines(【keepends】) 按行 \r、\r\n、\n 分割,返回一个以各行作为元素的列表 keepends 默认为 False,不包含换行符,为 True 则保留换行符
7 len(【字符串】) 统计字符串的字符个数
2、演示
  1. index 方法
python 复制代码
my_str = "Hello World"

print(my_str.index("World"))
复制代码
# 输出结果

6
  1. replace 方法
python 复制代码
my_str = "Hello World"

new_str = my_str.replace("World", "Python")

print(new_str)
复制代码
# 输出结果

Hello Python
  1. split 方法
python 复制代码
my_str = "Hello World"

str_list = my_str.split(" ")

print(str_list)
复制代码
# 输出结果

['Hello', 'World']
  1. strip 方法
python 复制代码
my_str1 = " Hello World "

new_str1 = my_str1.strip()

print(new_str1)

my_str2 = "12Hello World21"

# 传入的是 "12" 时 "1" 和 "2" 都会移除,是按照单个字符来确定移除的
new_str2 = my_str2.strip("12")

print(new_str2)
复制代码
# 输出结果

Hello World
Hello World
  1. count 方法
python 复制代码
my_str = "Hello World"

print(my_str.count("l"))
复制代码
# 输出结果

l
  1. splitlines 方法
python 复制代码
my_str = 'Hello\rWorld\n123\r\n456'

str_list = my_str.splitlines()

print(str_list)
复制代码
# 输出结果

['Hello', 'World', '123', '456']
  1. len 方法
python 复制代码
my_str = "Hello World"

print(len(my_str))
复制代码
# 输出结果

11
相关推荐
BeiGuTing_code38 分钟前
C字符输出:一个换行符引发的“失踪案”
c语言·开发语言
零基础12339 分钟前
基于模型的强化学习与不基于模型的强化学习:核心区别与实战选择
python·算法
专业程序开发源41 分钟前
django视听资源推荐系统16690-计算机课程设计、毕业设计
vue.js·spring boot·后端·python·django·php·课程设计
多客:duokelijie1 小时前
婚恋交友小程序合规梳理:上线运营需要准备哪些资质与许可手续?
后端·mysql·微信小程序·前端框架·uni-app·php·持续部署
yunwei371 小时前
eBPF 实例教程:使用内核跟踪点监控 GPU 驱动活动
linux·后端·性能优化
高频因子挖掘机1 小时前
别再手动维护股票名称映射表:用 Python 查询交易所元数据
后端·github·api
我的xiaodoujiao1 小时前
Django 权限系统项目实战详细图文教程 2--环境搭建
后端·python·django
高频因子挖掘机2 小时前
QuantDash 明明安装成功,为什么 Python 还是无法 import?
后端·github·api
http阿拉丁神猫5 小时前
Go语言入门笔记:从基础到开发环境搭建(二)
开发语言·笔记·golang