苦练Python第5天:字符串从入门到格式化

苦练Python第5天:字符串从入门到格式化

原文链接:dev.to/therahul_gu...

作者:Rahul Gupta

译者:倔强青铜三

前言

大家好,我是倔强青铜三 。是一名热情的软件工程师,我热衷于分享和传播IT技术,致力于通过我的知识和技能推动技术交流与创新,欢迎关注我,微信公众号:倔强青铜三。欢迎点赞、收藏、关注,一键三连!!!

欢迎来到 第5天100天Python挑战

今天,我们将深入探讨 Python 中最常用的数据类型之一:字符串。无论是构建聊天机器人、爬取网页,还是处理数据,你都会频繁用到字符串。让我们夯实基础,掌握格式化和操控字符串的高效方法。


📦 今日所学

  • 什么是字符串以及如何定义
  • 字符串索引与切片
  • 常用字符串方法
  • 字符串拼接与重复
  • 优雅地格式化字符串

🔤 什么是字符串?

在 Python 中,string 是被引号包围的一连串字符。

python 复制代码
name = "Alice"
greeting = 'Hello, world!'

你可以使用 单引号 (' ')双引号 (" ")


🧱 字符串索引与切片

索引

字符串中的每个字符都有一个索引号:

python 复制代码
word = "Python"
print(word[0])  # P
print(word[5])  # n

Python 使用 从零开始的索引 ,因此第一个字符位于位置 0

切片

你可以用切片提取字符串的一部分:

python 复制代码
print(word[0:3])  # Pyt
print(word[2:])   # thon
print(word[-1])   # n(最后一个字符)

🔁 字符串拼接与重复

拼接

使用 + 来连接字符串:

python 复制代码
first = "Good"
second = "Morning"
print(first + " " + second)  # Good Morning

重复

使用 * 来重复字符串:

python 复制代码
print("Ha" * 3)  # HaHaHa

🧽 常用字符串方法

Python 字符串自带大量内置方法:

python 复制代码
text = "  Hello, Python!  "

print(text.strip())       # 去掉首尾空白: "Hello, Python!"
print(text.lower())       # 转为小写
print(text.upper())       # 转为大写
print(text.replace("Python", "World"))  # 替换文本
print(text.find("Python"))  # 查找子串索引

实用字符串方法速查

方法 说明
.strip() 去掉首尾空白
.lower() 转为小写
.upper() 转为大写
.replace() 把子串替换为另一个
.find() 返回子串首次出现的索引
.split() 按分隔符拆分为列表
.join() 把列表合并为字符串

🧠 字符串格式化

假设你想在句子中插入变量,这里有 3 种方式:

1️⃣ 拼接(不推荐)

python 复制代码
name = "Alice"
print("Hello " + name + "!")

2️⃣ str.format()

python 复制代码
print("Hello, {}!".format(name))

3️⃣ f-字符串(Python 3.6+ 最佳实践)

python 复制代码
print(f"Hello, {name}!")

f-字符串 可读性强、速度快,是目前最现代的做法。你甚至可以在其中写表达式:

python 复制代码
age = 25
print(f"5 年后,你将 {age + 5} 岁。")

📌 加餐:多行字符串

使用三引号创建多行字符串:

python 复制代码
message = """Hello,
This is a multi-line
string in Python."""
print(message)

🚀 今日回顾

今天,你学会了:

  • 如何定义、访问和切片字符串
  • 如何拼接与重复字符串
  • 常用字符串方法
  • 使用 f-字符串 格式化字符串的最佳实践

最后感谢阅读!欢迎关注我,微信公众号倔强青铜三。欢迎点赞收藏关注,一键三连!!!

相关推荐
逻极2 分钟前
Webhook 全解析:事件驱动时代的实时集成核心技术
python·web
程序员三藏4 分钟前
一文了解UI自动化测试
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
极客代码4 分钟前
第七篇:深度学习SLAM——端到端的革命--从深度特征到神经辐射场的建图新范式
人工智能·python·深度学习·计算机视觉·slam·回环检测·地图构建
敲敲了个代码7 分钟前
11月3-5年Web前端开发面试需要达到的强度
前端·vue.js·学习·react.js·面试·职场和发展·web
有Li8 分钟前
面向超声半监督分割的类别特异性无标记数据风险最小化|文献速递-文献分享
人工智能·深度学习·计算机视觉
吃饺子不吃馅22 分钟前
面试官:JWT、Cookie、Session、Token有什么区别?
前端·设计模式·面试
pen-ai30 分钟前
【高级机器学习】5. Dictionary learning and Non-negative matrix factorisation
人工智能·机器学习
larance36 分钟前
python中的鸭子类型
开发语言·python
IT_陈寒40 分钟前
React 19新特性实战:5个提升开发效率的技巧与避坑指南
前端·人工智能·后端
声网44 分钟前
主动交互和情境感知,AI 硬件是脱离手机屏幕掌控的蓝海机会丨硬件和端侧模型专场@RTE2025 回顾
人工智能·智能手机