Python 主线任务之字符串,离开新手村指日可待【玩转Python】

本文介绍了Python中的字符串概念,包括字符串定义、变量插入、f字符串和format()方法的应用,以及删除字符串空白的技巧,如rstrip(),lstrip(),strip()和处理多余空格的不同方法。通过实例和练习题,帮助读者掌握Python字符串操作的基础知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主线任务

之前在 AI 助手"伴读"下写了几个功能,与其说在学习,更像是在体验 AI 助手的辅导能力。

在上篇的"背包问题"的解题中,发现对 Python 的语法不够熟悉,会反过来影响解题思路。

我认真思考了一下,还是得系统的学习一下 Python。不过,仅是学习语法等知识点,肯定是不够的,最好有阶段性的功能实践。

正好《Python编程:从入门到实践》中每节的后面都有"动手试一试"的编程练习环节,可以帮助实验"学以致用"的效果。

今天这篇主要分享 Python 字符串及其操作的相关知识点,每节都附有练习题及解答。

接下来让我们一起开启 Python 的主线任务。

字符串

介绍

字符串就是一系列字符。在Python中,用引号括起的都是字符串,其中的引号可以是单引号,也可以是双引号。

str = "This is a string."
strSec ='This is also a string.'

笔记

在字符串中插入变量的值

1、Python 3.6 引入的 f 字符串,要在字符串中插入变量的值,可在前引号前加上字母 f ,再将要插入的变量放在花括号内:

first_name = "叶"
last_name = "一一"
full_name = f"{first_name}{last_name}"
print(full_name)

输出结果

叶一一

2、Python 3.5 或更早的版本,需要使用 format() 方法。上面的 full_name 变量赋值方式变成了下面的代码,输出的结果不变:

full_name = "{}{}".format(first_name, last_name)

删除空白

有时候额外的空白会带来不必要的麻烦,比如对比两个字符串的是否相同时,额外的空格会得到失败的结果。这个时候需要先将额外的空格删除。

1、删除字符串左右两侧的空格

  • rstrip():用于移除字符串右侧(尾)指定的字符(默认为空格或换行符)或字符序列。
  • lstrip():用于移除字符串左侧(头)指定的字符(默认为空格或换行符)或字符序列。
  • strip() :用于移除字符串两侧(头尾)指定的字符(默认为空格或换行符)或字符序列。

下面有三个字符串变量,分别是包含左侧空格、右侧空格,两侧空格的字符串。

word_f = 'I '
word_s = ' love'
favorite_language = " python "
full_sentence = f"{word_f}{word_s}{favorite_language}"
print(full_sentence)

连接三个变量,运行一下结果

I  love python 

我们分别使用三个方法去除空格

full_sentence = f"{word_f.rstrip()}{word_s.lstrip()}{favorite_language.strip()}"

再次运行结果

Ilovepython

2、删除字符串全部空格

除了左右两侧空格,有时候可能字符串中间也包含空格,这个时候上面的三种方法就不好使了。

如果想去掉字符串中间的空格,有几种思路:

(1)使用replace将所有空格替换掉。

full_sentence = "I  love python "
print(full_sentence.replace(' ', ''))

运行结果

Ilovepython

(2)逐个使用 strip() 去掉两侧空格。

full_sentence = "I  love python "
full_sentence.strip()
res = ''.join([i.strip(' ') for i in full_sentence])
print(res)

(3)使用 split 按照空格截取字符串得到一个列表,将列表中所有的空格对象去掉,最后列表重新生成字符串。

full_sentence = "I  love python "
sentence_split = full_sentence.split(' ')
sentence_List = [i for i in sentence_split if i != '' ]
sentence_str = ''.join(sentence_List)

练一练

所有练一练的题目,大家可以先自行尝试实现。而我自己实现的代码可能跟习题答案也不太一样,仅供参考。

练习2-4:调整名字的大小写

题目:

调整名字的大小写 用变量表示一个人的名字,再以小写、大写和首字母大写的方式显示这个人名。

实现:

这个题目还是很简答的,Python 提供了修改字符串大小写的方法。

name_s = 'ye yiyi'
print(name_s.lower())
print(name_s.upper())
print(name_s.title())

打印:

ye yiyi
YE YIYI
Ye Yiyi

练习2-5:名言

题目:

找一句你钦佩的名人说的名言,将其姓名和名言打印出来。输出应类似于下面这样(包括引号)。Albert Einstein once said, “A person who never made a mistake never tried anything new.”

实现:

这个题目主要注意表示字符串类型的引号最近的引号类型相同时,导致的语法错误的问题。需要使用不同引号。

print('Einstein once said, "A person who never made a mistake never tried anything new."')

打印:

Einstein once said, "A person who never made a mistake never tried anything new."

总结

读完本文的主要收获有:

1、对于字符串,学习了字符串是什么、如何在字符串中插入值、如何剔除字符串中多余的空白。

对于主线任务,主要是学习基础,此外加上了支线的练习任务,可以将一些容易被忽视的功能点和对比,产生关联的联系,更容易加深记忆。



作者介绍
非职业「传道授业解惑」的开发者叶一一。
《趣学前端》、《CSS畅想》等系列作者。华夏美食、国漫、古风重度爱好者,刑侦、无限流小说初级玩家。
如果看完文章有所收获,欢迎点赞👍 | 收藏⭐️ | 留言📝。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叶一一yyy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值