欢迎来到速成课程的第三讲。
在本次讲座中,我们将学习在 Python 中处理字符串。 准备好爆米花,坐好。
琴弦
首先,让我们谈谈引号并消除它们在 Python 中可能引入的混淆。
如前所述,我们可以在 Python 中的函数后使用单引号和双引号。 这有一个特定的用途。 假设你想打印这样的东西。
print('This is Shahbaz's computer')
现在在上面的表达式中,第二个引号之后的所有内容,如“Shahbaz's”,python 解释器将无法识别,因为 Python 会将第二个引号作为字符串的结尾。 在这种情况下,您想使用双引号来声明这样的字符串:
print("This is Shahbaz's computer")
这也可以反过来应用,如果字符串中有双引号,我们可以使用单引号。 例如
print('This "computer" belongs to Shahbaz')
现在,如果要打印跨多行的字符串,则必须使用三引号将字符串括起来。 这些引号也可以是单引号或双引号,具体取决于字符串的内容。 例如:
现在假设您要打印字符串中的特定字符。 你会怎么做?
Python 解释器对字符串中的字符进行索引,如下所示:
正如您在终端中看到的,只打印了“h”。 这是因为我们只选择了字符串中的第三个字符在终端上打印,方法是在变量后面的方括号中写入 3。 Python 解释器还索引否定字符以简化大字符串。 这意味着“-1”将是字符串中的最后一个数字,依此类推。 请注意,空格没有索引,这意味着上面的字符串将只有 21 个索引空格。
您还可以从字符串中选择一系列字符。 例如
HashDork = ('Python Course by Shahbaz')
print(HashDork[0:3])
该程序将在终端上打印“Pyt”。 索引 3 不包括在内。
HashDork = ('Python Course by Shahbaz')
print(HashDork[2:])
同样,如果我们不提供结束索引,python 将在第一个索引之后打印整个字符串。 该程序的输出将是“Shahbaz 的 thon Course”。 反之亦然。 即,如果我们错过了第一个索引,那么将打印从开始到最后定义的索引的整个字符串。
索引括号中只有冒号的程序将在终端上产生完整的字符串。
锻炼; Tibial
这是一个有趣的练习
编写一个定义索引区间[1:-1]的程序。 你认为会是什么输出。 自己试试。
格式化字符串
格式化字符串在您使用变量动态生成一些文本的情况下特别有用。 我来给你展示。
假设我们有两个变量,名字和姓氏。
first_name = 'Shahbaz'
last_name = 'Bhatti'
现在我们要在终端上打印“Shahbaz [Bhatti] is a coder”。 我们将如何做到这一点? 我们将像这样引入第三个变量:
message = 'first_name + ' [' + last_name + '] is a coder'
现在,如果我们打印并运行这个程序,我们将在终端上看到“Shahbaz [Bhatti] is a coder”。
虽然这种方法非常有效,但它并不理想,因为随着我们的文本变得越来越复杂,输出的可视化变得更加困难。 这是我们使用格式化字符串的地方,它们使我们更容易可视化输出。
让我们改变第三个变量'message'并引入一个格式化的字符串。 要定义格式化字符串,请在字符串前面加上“f”,然后使用花括号将值动态插入到字符串中。 我们的程序将如下所示:
first_name = 'Shahbaz'
last_name = 'Bhatti'
message = f'{first_name} [{last_name}] is a coder'
要定义格式化字符串,请在字符串前面加上 F,然后使用花括号将值动态插入到字符串中。
很酷的事情你可以用 Python 字符串做
我将向你展示一些你可以用 Python 字符串做的很酷的事情。
1.字符串中的字符数
所以让我们从定义一个变量开始:
message = 'Shahbaz Bhatti is a Coder '
现在,如果我想确定上述字符串中的字符数,Python 中有一个内置函数“len”。 像这样用这个函数打印变量
print(len(message))
当您接收来自用户的输入时,这特别有用。 例如,您已经注意到,当您在线填写表格时,每个输入字段通常都有一个限制。 例如,你的名字可能有 50 个字符,所以使用这个“len”函数,我们可以强制限制输入字段中的字符数。
2. 将字符串中的字符转换为大写或小写
我们可以通过点运算符访问与字符串相关的函数。 您可以输入您的变量名称,并在其前面添加一个点,您可以看到所有此类函数的列表。
现在更准确地说,您将这些函数称为方法,这是我们将来要研究的面向对象编程中的一个术语,但是现在,我希望您带走的是,当一个函数属于其他东西或特定于某种对象,我们将该函数称为方法。 在这种情况下,我们将使用“upper”方法将字符串转换为大写。
由于此函数特定于字符串,因此我们将其称为方法。 相比之下,“len”和“print”是通用函数,它们不属于字符串或数字或其他类型的对象。 这是函数和方法之间的基本区别。
现在,让我们打印一下。
message = 'Shahbaz Bhatti is a coder'
print(message.upper())
我们可以看到我们的字符串是大写的。 同样,我们有一个方法“lower”将字符串转换为小写。 您还可以使用“title”方法将字符串中的每个单词大写。
请注意,该方法不会更改或修改我们的原始字符串。 实际上,它创建了一个新字符串并返回它。
3. 查找字符串中的字符序列
让我们尝试另一种方法来查找字符串中特定字符的索引。
类型:
message.find('b')
在相同的变量之后并打印它。 它将打印字符串中第一次出现字母“b”的索引,在这种情况下为 4。
请注意,此方法区分大小写,如果在字符串中找不到字符,它将返回 -1。 它也可以用于字符序列。
例如,以下程序:
message = 'Shahbaz Bhatti is a coder'
print(message.find('coder'))
将返回值“20”,因为序列“coder”从索引 20 开始。
4. 替换字符串中的字符
您可以使用“replace”方法来替换字符串中的一个字符或一个字符序列。 让我们看看这个在行动。
message = 'Shahbaz Bhatti is a coder'
print(message.replace('coder', 'programmer'))
该程序会将“coder”一词替换为“programmer”,并将其打印在终端上。
5.检查字符串中字符的存在
现在有些情况下,您想检查字符串中是否存在字符或字符序列。 在这些情况下,您可以像这样使用表达式格式:
message = 'Shahbaz Bhatti is a coder'
打印(消息中的'python')
现在这将返回一个布尔函数。 即“真”或“假”。 像这样;
请注意,所有这些方法和函数都区分大小写。
包起来!
弦乐还有很多东西,我们将在前进的过程中逐渐学习。 接下来,我们将学习在 Python 中执行算术运算。
发表评论