Python3 中常用字符串函数介绍

介绍

Python 中有几个与 字符串数据类型相关的内置函数。这些函数让我们能够轻松修改和操作字符串。我们可以将函数视为在代码元素上执行的操作。内置函数是在 Python 编程语言中定义的,并且可以随时供我们使用的函数。

在本教程中,我们将介绍在 Python 3 中使用的几种不同的函数,以处理字符串。

将字符串转换为大写和小写

函数 str.upper()str.lower() 将返回一个将原始字符串的所有字母转换为大写或小写字母的字符串。由于字符串是不可变数据类型,返回的字符串将是一个新字符串。字符串中的任何非字母字符都不会更改。

让我们将字符串 Sammy Shark 转换为全部大写:

ss = "Sammy Shark"
print(ss.upper())
SAMMY SHARK

现在,让我们将字符串转换为全部小写:

print(ss.lower())
sammy shark

str.upper()str.lower() 函数使得通过使大小写一致来评估和比较字符串变得更容易。这样,如果用户以全部小写形式写他们的名字,我们仍然可以通过将其与全部大写版本进行比较来确定他们的名字是否在我们的数据库中,例如。

布尔方法

Python 具有一些字符串方法,将计算为 布尔值。当我们为用户创建填写表单时,这些方法非常有用。例如,如果我们要求邮政编码,我们只希望接受数字字符串,但当我们要求姓名时,我们只希望接受字母字符串。

有几种字符串方法将返回布尔值:

方法如果
str.isalnum()字符串仅由字母数字字符组成(没有符号)
str.isalpha()字符串仅由字母字符组成(没有符号)
str.islower()字符串的字母字符全部小写
str.isnumeric()字符串仅由数字字符组成
str.isspace()字符串仅由空白字符组成
str.istitle()字符串是标题形式
str.isupper()字符串的字母字符全部大写

让我们看一下其中几个的实际应用:

number = "5"
letters = "abcdef"print(number.isnumeric())
print(letters.isnumeric())
True
False

在字符串 5 上使用 str.isnumeric() 方法返回 True,而在字符串 abcdef 上使用相同的方法返回 False

同样,我们可以查询字符串的字母字符是小写、大写还是标题形式。让我们创建一些字符串:

movie = "2001: A SAMMY ODYSSEY"
book = "A Thousand Splendid Sharks"
poem = "sammy lived in a pretty how town"

现在让我们尝试检查标题形式的布尔方法:

print(movie.islower())
print(movie.isupper())
print(book.istitle())
print(book.isupper())
print(poem.istitle())
print(poem.islower())

现在我们可以运行这些小程序,并得到以下输出:

False
True
True
False
False
True

检查字符是小写、大写还是标题形式可以帮助我们适当地对数据进行排序,并为我们提供检查和根据需要修改字符串的标准化数据的机会。

当我们希望检查用户输入是否符合给定参数时,布尔字符串方法非常有用。

确定字符串长度

字符串函数 len() 返回字符串中的字符数。例如,当您需要强制执行最小或最大密码长度时,或将较大的字符串截断以在使用缩写时保持在某些限制范围内时,此方法非常有用。

为了演示这个方法,我们将找到一个长句子字符串的长度:

open_source = "Sammy contributes to open source."
print(len(open_source))
33

我们将变量 open_source 设置为字符串 "Sammy contributes to open source.",然后我们使用 len() 函数传递了该变量,即 len(open_source)。然后,我们将该方法传递到 print() 方法中,以便我们可以从我们的程序中在屏幕上生成输出。

请记住,len() 函数将计算由单引号或双引号括起的任何字符——包括字母、数字、空格字符和符号。

join()

split()replace() 方法

str.join()str.split()str.replace() 方法是在 Python 中操作字符串的另外几种方式。

str.join() 方法将连接两个字符串,但以一种将一个字符串通过另一个字符串传递的方式。

让我们创建一个字符串:

balloon = "Sammy has a balloon."

现在,让我们使用 str.join() 方法向该字符串添加空格,我们可以这样做:

" ".join(balloon)

如果我们将其打印出来:

print(" ".join(balloon))

我们将注意到在返回的新字符串中,在第一个字符串中间添加了空格:

[secondary_label 输出]
S a m m y   h a s   a   b a l l o o n .

我们还可以使用 str.join() 方法返回一个与原始字符串相反的字符串:

print("".join(reversed(balloon)))
.noollab a sah ymmaS

由于我们不想将另一个字符串的任何部分添加到第一个字符串,因此我们保持引号紧密相连,中间没有空格。

str.join() 方法还可以用于将字符串列表组合成一个新的单一字符串。

让我们从一个字符串列表创建一个以逗号分隔的字符串:

print(",".join(["sharks", "crustaceans", "plankton"]))
sharks,crustaceans,plankton

如果我们想在新字符串中的字符串值之间添加逗号和空格,我们可以使用空格后的逗号重写我们的表达式:", ".join(["sharks", "crustaceans", "plankton"])

与我们可以将字符串连接在一起类似,我们也可以拆分字符串。为此,我们将使用 str.split() 方法:

print(balloon.split())
['Sammy', 'has', 'a', 'balloon.']

如果未提供其他参数,则 str.split() 方法将返回由空格分隔的字符串列表。

我们还可以使用 str.split() 来删除原始字符串的某些部分。例如,让我们从字符串中删除字母 a

print(balloon.split("a"))
['S', 'mmy h', 's ', ' b', 'lloon.']

现在字母 a 已被删除,并且字符串已在每个字母 a 的位置分隔,保留了空格。

str.replace() 方法可以接受原始字符串并返回一个带有替换的更新字符串。

比方说,Sammy 失去了他的气球。由于 Sammy 不再拥有这个气球,我们将从原始字符串 balloon 中的子字符串 "has" 更改为新字符串中的子字符串 "had"

print(balloon.replace("has","had"))

在括号中,第一个子字符串是我们要替换的内容,第二个子字符串是我们要用来替换第一个子字符串的内容。我们的输出将如下所示:

Sammy had a balloon.

使用字符串方法 str.join()str.split()str.replace() 将为您提供更多控制权,以在 Python 中操作字符串。

结论

本教程介绍了在 Python 程序中使用的字符串数据类型的一些常见内置方法,用于处理和操作字符串。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/623743.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

导轨式信号隔离变送器比例阀门线性驱动器4-20mA/0-5V/0-10V转0-165mA/0-80mA/0-1A/0-2A/0-4A

主要特性 精度、线性度误差等级: 0.1、0.2、0.5 级4-20mA/0-5V/0-10V 等标准信号输入0~100mA/0~500mA/0~1A/0-5A 等电流信号输出0~1V(max 2A)/0~10V/0-24V(max 5A) 等电压信号输出信号输入/信号输出 3000VDC 隔离辅助电源:12V、15V 或 24V 直流单电源供…

【微服务】日志搜集elasticsearch+kibana+filebeat(单机)

日志搜集eskibanafilebeat(单机) 日志直接输出到es中,适用于日志量小的项目 基于7.17.16版本 主要配置在于filebeat, es kibana配置改动不大 环境部署 es kibana单机环境部署 略 解压即可 常见报错,百度即可。 记录…

Android 和 IOS 设备唯一ID如何选择

我们在做Android/IOS应用或游戏的时候,或许总会碰到要获取设备唯一id来标识或跟踪玩家。但随着系统安全性的提高,加强用户的隐私安全,获取设备唯一ID变得越来越困难了,下面我们来分析一下,看看哪些还可以满足我们需求,同时,如果您有关于获取设备唯一ID的新发现,欢迎留言…

【Vue监听属性详细介绍】

Vue监听属性详细介绍 1. 监听属性2. watch 属性3. 计算属性(Computed Properties)4. 侦听器(Listeners)方法5. .sync 修饰符6. 注意事项 1. 监听属性 在Vue中,监听属性是一个十分重要的特性,它允许你监听和…

揭秘铭文技术: 它如何改变你的数字世界?

在数字世界的演变过程中,区块链技术被广泛认为是一种革命性的创新,为众多行业和领域带来深远的影响。然而,区块链的潜力远不止于此。近年来,一种新兴应用——区块链铭文,正在逐渐引起人们的关注,成为数字世…

修改csdn的字体大小颜色

修改csdn的字体大小颜色 修改csdn的字体大小颜色 修改csdn的字体大小颜色一、设置字体与颜色格式二、修改字体格式三、修改字体颜色 一、设置字体与颜色格式 <font face"华文行楷" colorred size5>本字体是华文行楷&#xff0c;红色&#xff0c;5号大小</fo…

怎样获取power shell 的全部可用命令?2/5(篇幅有点长,分成5份)

在power shell 窗口中&#xff0c;有一个获取全部可用命令的命令&#xff1a;get-command&#xff0c;获取到的命令有1640多个&#xff0c;够学习了吧&#xff1f;那么&#xff0c;power shell 命令有哪些类别呢&#xff1f; PowerShell命令可以分为以下几类&#xff1a; Cmdl…

TS学习笔记二:基础类型及变量声明

本节介绍TypeScript中的基础类型及变量声明方式的说明。TypeScript支持与JavaScript几乎相同的数据类型&#xff0c;此外还提供了实用的枚举类型方便我们使用。基础类型包括&#xff1a;数字&#xff0c;字符串&#xff0c;结构体&#xff0c;布尔值等。 学习视频 TS学习笔记二…

java发送邮件(注:本章以163邮箱为例)

目录 前言 一邮件服务器与传输协议 二.发送邮件思路 2.1注册163邮箱: 2.2、打开邮箱服务获取授权码 三.代码实现邮件发送 3.1第三方jar包 3.2创建邮件工具类 3.3编写测试类 前言 电子邮件的应用非常广泛&#xff0c;例如在某网站注册了一个账户&#xff0c;自动发送一…

机器学习在什么场景下最常用-九五小庞

机器学习在多个场景中都有广泛的应用&#xff0c;下面是一些常见的应用场景&#xff1a; 自然语言处理&#xff08;NLP&#xff09;&#xff1a;如语音识别、自动翻译、情感分析、垃圾邮件过滤等。数据挖掘和分析&#xff1a;如市场分析、用户画像、推荐系统、欺诈检测等。智能…

你不得不知道的常用 Git 命令

最近在学习的时候发现 git 命令没有自己想象中那么简单&#xff0c;特此做一期 《 常用 Git 命令 》&#xff0c;不仅是给掘友分享&#xff0c;也能巩固自己学到的知识。 在此向大家推荐一个学习 git 指令的小游戏 Learn Git Branching&#xff0c;以通关的方式进行学习&#…

人机协同控制的相位差

人机协同控制是指人与机器之间通过特定的交互方式进行协同工作&#xff0c;共同完成某项任务或控制某个系统。在这种控制方式下&#xff0c;人与机器根据各自的能力和优势&#xff0c;相互配合和协作&#xff0c;达到更高效、更精确的控制效果。 相位差是指两个波的相位差异&am…

2024年【高处安装、维护、拆除】考试题及高处安装、维护、拆除模拟试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 高处安装、维护、拆除考试题是安全生产模拟考试一点通总题库中生成的一套高处安装、维护、拆除模拟试题&#xff0c;安全生产模拟考试一点通上高处安装、维护、拆除作业手机同步练习。2024年【高处安装、维护、拆除】…

电脑的任务栏怎么恢复到底下?简单的4个方法帮你解决!

“我在使用电脑的时候突然发现电脑底部的任务栏不见了&#xff0c;有什么方法可以将任务栏恢复到底下吗&#xff1f;快给我出出主意吧&#xff01;” 在使用电脑时&#xff0c;我们可能会发现电脑的任务栏跑到屏幕顶部或消失的情况。这不仅影响了我们的使用体验&#xff0c;还可…

如何使用左移方法优化性能测试

开发周期早期阶段的性能测试&#xff08;左移方法&#xff09;可以让产品提供更好的性能和更高的投资回报率。查看如何使用左移方法优化性能测试。 每一次冲刺都至关重要&#xff0c;并且做出的决策速度快如闪电。为了促进快速反馈过程&#xff0c;测试团队必须在很短的时间内…

JS逆向实战案例1——某房地产url动态生成

说明&#xff1a;仅供学习使用&#xff0c;请勿用于非法用途&#xff0c;若有侵权&#xff0c;请联系博主删除 作者&#xff1a;zhu6201976 一、 反爬分析 url&#xff1a;aHR0cHM6Ly9uZXdob3VzZS4wNTU3ZmRjLmNvbQ 该站点项目url通过点击JS生成&#xff0c;project_id与生成后…

mysql清空并重置自动递增初始值

需求&#xff1a;当上新项目时&#xff0c;测试环境数据库导出来的表id字段一般都有很大的初始递增值了&#xff0c;需要重置一下 先上代码&#xff1a; -- 查看当前自动递增值 SHOW CREATE TABLE table_name; -- 重建自动递增索引&#xff08;可选&#xff09; ALTER TABLE t…

Spring - 如何控制多个 AOP 切面执行顺序?

众所周知&#xff0c;Spring 声明式事务是基于 AOP 实现的&#xff0c;那么&#xff0c;如果我们在同一个方法自定义多个 AOP&#xff0c;我们如何指定他们的执行顺序呢&#xff1f; 三种解决方案 1、通过实现 org.springframework.core.Ordered 接口 Component Aspect S…

逃离“思考碎片化”

小小的手机&#xff0c;叠加上无处不在的通信网络&#xff0c;让我们每个人都能连接互联网。不管是主动还是被动&#xff0c;如今的我们不得不调整甚至改变自己的学习、生活和工作的方式&#xff0c;以适应当下这个移动互联大时代。 这些变化中&#xff0c;固然很多都是积极的、…

Android 13 - Media框架(31)- ACodec(七)

之前的章节中我们解了 input buffer 是如何传递给 OMX 的&#xff0c;以及Output buffer 是如何分配并且注册给 OMX 的。这一节我们就来看ACodec是如何处理OMX的Callback的。 1、OMXNodeInstance Callback 这一节我们只大致记录Callback是如何传递给ACodec的。在之前的学习中我…