不为失败找理由,只为成功找方法。所有的不甘,因为还心存梦想,所以在你放弃之前,好好拼一把,只怕心老,不怕路长。
python系列之字符串
- 一、初识字符串:程序世界的文字魔法
- 1、什么是字符串?
- 2、字符串的特性
- 二、字符串基础操作:文字处理基本功
- 1、下标(索引):字符雷达定位
- 2、拼接字符串:文字积木
- 3、 切片:文字密码锁
- 三、常用字符串方法:文字处理工具箱
- 1、变形金刚:改变文字形态
- 2、信息查询:文字侦探
- 3、分割与组合:文字手术刀
- 四、字符串格式化:打造个性化文本
- 1、三种格式化方式对比
- 2、格式化进阶技巧
- 五、实战演习:学以致用
- 文本统计工具
- 六、常见问题避坑指南:温故而知新
- 七、学习资源推荐
python系列前期章节
- python系列之注释与变量
- python系列之输入输出语句与数据类型
- python系列之运算符
- python系列之控制流程语句
一、初识字符串:程序世界的文字魔法
1、什么是字符串?
字符串就像编程世界里的文字快递员,负责帮我们运送各种文字信息。比如:
- 用户输入的账号密码
- 网页上的文章内容
- 商品的价格标签
我们一般使用引号(单、双、三引号都可以)创建字符串。字符串是由一个一个的字符组成的。【注意】:字符串中可能会包含一种特殊字符———转义符。
# 创建字符串的三种方式
快递单1 = '普通快递' # 单引号
快递单2 = "加急快递" # 双引号
物流信息 = '''货物状态:已签收
签收人:张先生''' # 三引号(可换行)
2、字符串的特性
- 不可变性:像刻在石头上的字,不能直接修改
- 有序性:每个字符都有固定位置,类似超市储物柜
- 可迭代:可以逐个字符检查,如同验钞机数钞票
二、字符串基础操作:文字处理基本功
1、下标(索引):字符雷达定位
“下标”又叫“索引”,俗称编号。比如学号,座位号,作用:按照编号快速找到对应的位置。同理,下标的作用即是通过下标快速找到对应的数据(所有序列都有下标)
【注意】:下标从0开始,反过来从-1开始。
text = "Python真有趣!"# 索引获取单个字符
print(text[0]) # P(正向索引)
print(text[-1]) # !(反向索引)
# 字符串的创建
s1 = 'hello'
s2 = "python"
s3 = '''字符串'''# 索引访问数据
print(s1[0])
print(s2[2])
print(s3[1])
运行结果:
2、拼接字符串:文字积木
# 三种拼接方式
first_name = "张"
last_name = "小明"# 加号拼接
full_name = first_name + last_name # 张小明# 直接拼接
greeting = "你好," "张同学!" # 你好,张同学!# join方法
words = ["我", "爱", "Python"]
sentence = "".join(words) # 我爱Python
3、 切片:文字密码锁
# 切片获取子串 [开始索引:结束索引:步长]
print(text[0:6]) # Python
print(text[::2]) # Pto真趣
print(text[::-1]) # !趣有真nohtyP
三、常用字符串方法:文字处理工具箱
1、变形金刚:改变文字形态
函数名 | 功能描述 |
---|---|
strip() | 去除首尾空格 |
lower() | 全部字母小写 |
upper() | 全部字母大写 |
replace(str1,str2) | 替换字符串; str1:被替换的字符串;str2: 已替换的字符串; |
message = " Hello Python! "print(message.strip()) # "Hello Python!"(去首尾空格)
print(message.lower()) # " hello python! "
print(message.upper()) # " HELLO PYTHON! "
print(message.replace("Python", "世界")) # " Hello 世界! "
2、信息查询:文字侦探
函数名 | 功能描述 |
---|---|
len(str) | 字符串长度 |
in关键字 | 判断某字符串是否包含在该字符串中 |
find(str) | 查找当前字符串首次出现的索引位置 |
count(str) | 在该字符串出现的次数 |
text = "Python版本3.9发布了!"print(len(text)) # 13(字符总数)
print("版本" in text) # True(是否包含)
print(text.find("3.9")) # 6(首次出现位置)
print(text.count("版")) # 1(出现次数)
3、分割与组合:文字手术刀
函数名 | 功能描述 |
---|---|
split(str) | 指定分隔符进行分割,返回列表类型 |
join(str) | 把当前字符串里的每一个元素进行组合起来 |
# 分割字符串
csv_data = "苹果,香蕉,橙子,西瓜"
fruits = csv_data.split(",") # ['苹果', '香蕉', '橙子', '西瓜']# 组合字符串
new_str = "-".join(fruits) # 苹果-香蕉-橙子-西瓜
四、字符串格式化:打造个性化文本
1、三种格式化方式对比
name = "小明"
age = 18# 旧式格式化
print("我叫%s,今年%d岁" % (name, age))# format方法
print("我叫{},今年{}岁".format(name, age))# f-string(推荐!)
print(f"我叫{name},今年{age}岁")
运行结果:
2、格式化进阶技巧
price = 99.999# 数字格式化
print(f"价格:{price:.2f}") # 价格:100.00# 对齐文本
print(f"{'商品':<5}|{'价格':>5}") # 商品 | 价格# 特殊格式
print(f"十六进制:{255:#x}") # 十六进制:0xff
五、实战演习:学以致用
以上是一些字符串常用的函数,还有其他函数可以查官方文档,文末已献上链接。那么接下来得要实战演练一下咯。
文本统计工具
# 定义一个函数,后续章节会讲到,这里先露个脸。
def text_analyzer(text):return {"总字符数": len(text),# 通过sum函数统计,这个函数每个序列都有的。"字母数": sum(c.isalpha() for c in text),"数字数": sum(c.isdigit() for c in text),"单词数": len(text.split()),"反转文本": text[::-1]}sample = "Python3.9发布啦!2020年10月发布"
# 调用函数并打印输出
print(text_analyzer(sample))
运行结果:
六、常见问题避坑指南:温故而知新
# ❌ 错误:修改字符串
text = "hello"
text[0] = "H" # 报错!# ✅ 正确:创建新字符串
new_text = "H" + text[1:] # "Hello"# ❌ 错误:索引越界
text = "abc"
print(text[3]) # IndexError# ✅ 正确:先检查长度
if len(text) > 3:print(text[3])
七、学习资源推荐
- 官方文档:字符串方法
- 交互练习网站:LearnPython.org
- 可视化工具:Python Tutor
字符串就像编程世界的乐高积木,掌握它们就能搭建出各种有趣的文字应用。现在打开你的编辑器,开始创作属于你的字符串魔法吧!✨