百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Python小课堂之木辛老师特别讲解:再次深入浅出字符串的格式化

off999 2024-09-18 22:35 35 浏览 0 评论

我们已经学习了字符串和数字基础的处理方法和逻辑,大家有没有觉得使用起来很方便,编程的过程中也是很给力的呀!其实Python还有更多字符串处理的方法,大家今天就一起来体验一下吧

小朋友们可以先复习一下前一节课的知识哈,

传送门:Python小课堂第21课:规整一下我们的输出之打印格式化与字符串

请点击右上角“关注”按钮关注我们哟:跟着木辛老师学习Python编程知识,变身快乐的编程达人吧~

这节木辛老师的特别讲解课程,将继续深入浅出的讲解一下更高一级的字符串处理方法。

我们将会接触到Python中处理字符串的一些内置方法,比如:

  1. 将字符串分解为较小的部分
  2. 将字符串联起来
  3. 搜索字符串
  4. 删除字符串中的某些部分
  5. 改变大小写

最早学习字符串的时候,我们已经看到了可以使用+号将两个字符串串联起来,比如:

现在咱们来看看还可以对字符串做哪些处理吧。

Python中的字符串实际上都是对象,而且有自己的方法来完成搜索、分解和结合之类的操作。这些方法统称为字符串方法。

分解字符串

有时候需要将一个长字符串分解成多个小字符串。通常会在字符串的某些特定的位置进行分解。比如:在文本文件中存储数据时,最常用的方法就是通过逗号将各个项分隔。所以,可能会有一个这样的字符串

fav_fruit = "苹果,桃子,葡萄,西瓜”

假设我们想把这些水果的名字放到一个列表中,列表中的每一项都是一个名字。这就需要在出现英文逗号的地方分解字符串。

在Python里,有一个方法split()可以完成这个任务:

通过制定分解标识,split方法返回一个列表,也就是把原来的字符串分解成许多部分。可以看到,这个长长的字符串已经被分解成列表了。我们之前讲过关于列表的一些知识,小朋友们可以去回顾一下呀

传送门:Python小课堂第十三课:20分钟开胃菜,带你认识列表的基本操作

当然了,split方法还支持同时传入多个分解标识呢,比如像这样:

这里我们传入的是一个包含三个字符“#|#”的字符串。

同时,如果咱们不给split()传入任何参数,它就会按照空白符号的标识切割字符串。

我切、切、切,把一长串的字符串切割成一段段的字符串了。额······ 如果我们现在又想把它们合并成一个长字符串的话,应该怎么做呢?

连接字符串

之前我们学习过,可以通过+号操作符将字符串串联起来。这种操作可以叫做字符串相加,也可以成为拼接。

在Python里,还有一种方法可以实现连接字符串,那就是join()函数。

一般使用这个函数的是包含有多个元素的列表,另外还希望在连接的时候,在每个部分之间插入什么字符。这个操作正好和split是相反的。咱们来看看例子:

这样,我们就将一个列表拼接成了一个长字符串了。

当然,咱们连接字符串也可以添加字符,比如

looooong_fruit = "#|#".join(fruit_arr)

大家可以试试这么拼接的效果是什么样的~

搜索字符串

咱们切也切了,拼也拼了,这个字符串被我们玩来玩去,是不是也挺有意思的呀~

下面我们再学习一下字符串搜索的知识吧。

在Python里,我们一般会用到如下几个方法:

  1. startswith
  2. endswith
  3. in
  4. index

咱们通过例子来给大家看下具体效果吧(一言不合就举例子【笑哭】)。

startswith()

我们通过startswith方法可以指出一个字符串是否以某个字符或者某几个字符开头。这个函数返回的是一个布尔值,如果符合条件就返回True,否则返回False。

endswith()

这个方法正好和startswith相反,如果某一个字符串是以某个字符或者某几个字符结尾,则返回True,否则返回False。

当然了,我们通过这两个函数只能进行判断,字符串的开头和结尾是否满足条件。

如果这个要寻找的标识符在字符串的中间,该怎么办呢?如果找到了,我们想要知道它具体在什么位置又要怎么办嗯?

这一连串的疑问,Python给了我们两个方法:in()和index()完美的解决了。

顾名思义,in()这个方法就是指出,xx标识符,是否在某个字符串中。这个方法也是返回的布尔型。

index()方法则会返回这个标识符在当前字符串的索引位置,大家有没有觉得很眼熟?

对了!我们之前讲到列表搜索的时候,有提到过index方法呢!

传送门:Python小课堂之木辛老师特别讲解:列表的搜索和排序

嗯嗯,在编程中,举一反三是快速学习的最有效方法,针对具体的语法也是这样的道理。

木辛老师聊一聊

在较大的字符串中查找较小的字符串,较小的字符串被称为子串。

当然了,在一个字符串中取子字符串,长度肯定不会长于被截取字符串。

即使截取了完全一样的字符,得到的也被称为子字符串。

删除子字符串

有时候,我们觉得字符串的开头或者末尾多了很多冗余字符,比如空格。要想删除掉他们,可以借助Python提供的strip()方法。

代码可以这么写:

直接使用strip()方法,可以将字符串开头和末尾的诸如空格、回车、制表符的字符删除掉。

改变大小写

Python里还有一个很有用的功能,就是改变字符的大小写。

lower() 将字符串转换成小写

upper() 将字符串转换成大写

大家要注意的一点是,这两个方法仅是针对英文字符哟!

好了,今天的课程咱就先说到这里吧。小朋友们学到了什么呀?

  1. 使用split()函数分隔字符串,使用join()连接字符串
  2. 使用startswith() 、endswith() 、in() 和index()搜索字符串中的字符
  3. strip()方法删除多余字符
  4. upper()和lower()转换英文的大小写格式

小朋友们不要忘记关注我们哟 ,下期课程更精彩,请大家一起期待吧~

快乐编程,快乐成长,希望你能在木辛老师的编程课中收获满满的快乐哟!

相关推荐

阿里云国际站ECS:阿里云ECS如何提高网站的访问速度?

TG:@yunlaoda360引言:速度即体验,速度即业务在当今数字化的世界中,网站的访问速度已成为决定用户体验、用户留存乃至业务转化率的关键因素。页面加载每延迟一秒,都可能导致用户流失和收入损失。对...

高流量大并发Linux TCP性能调优_linux 高并发网络编程

其实主要是手里面的跑openvpn服务器。因为并没有明文禁p2p(哎……想想那么多流量好像不跑点p2p也跑不完),所以造成有的时候如果有比较多人跑BT的话,会造成VPN速度急剧下降。本文所面对的情况为...

性能测试100集(12)性能指标资源使用率

在性能测试中,资源使用率是评估系统硬件效率的关键指标,主要包括以下四类:#性能测试##性能压测策略##软件测试#1.CPU使用率定义:CPU处理任务的时间占比,计算公式为1-空闲时间/总...

Linux 服务器常见的性能调优_linux高性能服务端编程

一、Linux服务器性能调优第一步——先搞懂“看什么”很多人刚接触Linux性能调优时,总想着直接改配置,其实第一步该是“看清楚问题”。就像医生看病要先听诊,调优前得先知道服务器“哪里...

Nginx性能优化实战:手把手教你提升10倍性能!

关注△mikechen△,十余年BAT架构经验倾囊相授!Nginx是大型架构而核心,下面我重点详解Nginx性能@mikechen文章来源:mikechen.cc1.worker_processe...

高并发场景下,Spring Cloud Gateway如何抗住百万QPS?

关注△mikechen△,十余年BAT架构经验倾囊相授!大家好,我是mikechen。高并发场景下网关作为流量的入口非常重要,下面我重点详解SpringCloudGateway如何抗住百万性能@m...

Kubernetes 高并发处理实战(可落地案例 + 源码)

目标场景:对外提供HTTPAPI的微服务在短时间内收到大量请求(例如每秒数千至数万RPS),要求系统可弹性扩容、限流降级、缓存减压、稳定运行并能自动恢复。总体思路(多层防护):边缘层:云LB...

高并发场景下,Nginx如何扛住千万级请求?

Nginx是大型架构的必备中间件,下面我重点详解Nginx如何实现高并发@mikechen文章来源:mikechen.cc事件驱动模型Nginx采用事件驱动模型,这是Nginx高并发性能的基石。传统...

Spring Boot+Vue全栈开发实战,中文版高清PDF资源

SpringBoot+Vue全栈开发实战,中文高清PDF资源,需要的可以私我:)SpringBoot致力于简化开发配置并为企业级开发提供一系列非业务性功能,而Vue则采用数据驱动视图的方式将程序...

Docker-基础操作_docker基础实战教程二

一、镜像1、从仓库获取镜像搜索镜像:dockersearchimage_name搜索结果过滤:是否官方:dockersearch--filter="is-offical=true...

你有空吗?跟我一起搭个服务器好不好?

来人人都是产品经理【起点学院】,BAT实战派产品总监手把手系统带你学产品、学运营。昨天闲的没事的时候,随手翻了翻写过的文章,发现一个很严重的问题。就是大多数时间我都在滔滔不绝的讲理论,却很少有涉及动手...

部署你自己的 SaaS_saas如何部署

部署你自己的VPNOpenVPN——功能齐全的开源VPN解决方案。(DigitalOcean教程)dockovpn.io—无状态OpenVPNdockerized服务器,不需要持久存储。...

Docker Compose_dockercompose安装

DockerCompose概述DockerCompose是一个用来定义和管理多容器应用的工具,通过一个docker-compose.yml文件,用YAML格式描述服务、网络、卷等内容,...

京东T7架构师推出的电子版SpringBoot,从构建小系统到架构大系统

前言:Java的各种开发框架发展了很多年,影响了一代又一代的程序员,现在无论是程序员,还是架构师,使用这些开发框架都面临着两方面的挑战。一方面是要快速开发出系统,这就要求使用的开发框架尽量简单,无论...

Kubernetes (k8s) 入门学习指南_k8s kubeproxy

Kubernetes(k8s)入门学习指南一、什么是Kubernetes?为什么需要它?Kubernetes(k8s)是一个开源的容器编排系统,用于自动化部署、扩展和管理容器化应用程序。它...

取消回复欢迎 发表评论: