【Python】字符串

  •  🚩 WRITE IN FRONT 🚩       

  • 🔎 介绍:"謓泽"正在路上朝着"攻城狮"方向"前进四" 🔎
  • 🏅 荣誉:2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评百大博主、华为云享专家、阿里云专家博主、掘金优秀创作者、全网粉丝量7w+、个人社区人数累计4w+、全网访问量100w+ 🏅
  • 🆔 本文章内容由 謓泽 原创 如需相关转载请提前告知博主 ⚠
  • 📑 创作时间:2022 年 2 月 23 日 📅
  • 📝 个人主页:謓泽的博客 📃
  • 📣 专栏系列:【Python】系列_謓泽的博客📃
  • 🙌 Gitee:謓泽 (wsxsx) - Gitee.com ⭐️
  • 🎁 点赞👍+ 收藏⭐️+ 留言📝​
  • ✉️ 我们并非登上我们所选择的舞台,演出并非我们所选择的剧本 📩

字符串的定义

字符串这个在任何编程语言都可以说是非常常见的了无非就是一串字符为字符串,是编程语言当中表示文本的数据类型。

在Python当中可以用两种形式表示定义一个字符串如下代码所示↓

name1 = "zhangsan" # (双引号的形式)

print(name1)

name2 = 'laowang' # (单引号的形式)

print(name2)
  • 运行结果🖊 
  • zhangsan
  • laowang

当然你也可以使用一些转义字符的操作,来对字符串进行不同的操作都是允许的。

但是,由于大多数的编程语言都是用""(双引号)来表示字符串的。所以,我们可以使用双引号的形式来表示一串字符串。当然这不是绝对的,指代Python的情况下。

索引获取字符

索引在前面当中的Python系列当中博主有说过不知道你还想的起来吗(●'◡'●)想不起来那就赶紧回去看看吧我不会告诉你是列表那一篇的(ノ*・ω・)ノ,在有些编程语言当中会把索引称之为下标,这也是可以的。

我们可以使用索引来获取一个字符串内部当中所指定位置的字符,重点:索引都是从0开始的,也可以认为是下标也是从0开始的。

当然除了获取指定位置的字符,我们也可以使用for循环来遍历整个字符串也是🆗の。

索引

用索引获取指定位置字符串,代码示例如下↓

str1 = "Hello Python"
print(str1[6])

运行结果🖊

P

从上面当中我们可以发现用索引操作并且打印我们获取到了字符串当中的P的字母。

遍历

那么接下来我们来说说如何用for语句来遍历整个字符串,代码示例如下↓

str1 = "Hello Python"
for str in str1:  # 注意:冒号
    pass
    print(str)

运行结果🖊

H
e
l
l
o
 
P
y
t
h
o
n

此时张三同学说:謓泽为什么它会换行,我不想换行怎么办。

我:张三同学一看你就是没有好好看我前面当中的内容,其实很容易。

print(str,end="")

我们只需要把第④行的代码+上end=""操作就可以了。

字符串的常用操作 

索引

字符串[索引]从字符串中取出单个的字符。

字符串.index(字符串)获得某一个子字符串出现的位置。代码示例如下↓

str1 = "Hello Python"
print(str1.index("P"))

运行结果🖊

6

那么如果使用index传递的子字符串不存在,程序会报错的。代码示例如下↓

str1 = "Hello Python"
print(str1.index("A"))

运行结果🖊

 line 2, in <module>
    print(str1.index("A"))
ValueError: substring not found

字符串当中的转义字符 

  • \t  在控制台上输出一个制表符、协助在输出文本的时候与垂直方向保持对齐。
  • \n 在控制台上输出一个换行符

制表符的功能是在不使用表格的情况下在垂直方向按照列来对齐文本。

转义字符

转义字符描述
\\反斜杠符号
\'单引号
\"双引号
\n换行
\t横向制表符
\r回车(回到当前这行的行首)

针对字符串操作⑥大方法 

判断类型的方法。

  • string.isspace() 

功能说明:如果 string 中只是包含空格,则返回 Ture(真)

那么我们还是用代码演示如下↓

# 判断空白字符
space_str = " "
# space_str = " \n\t\r"

print(space_str.isspace())

运行结果🖊

Ture

注意:制表符空格换行符回车同样都是属于空白字符的。


  • string.isdecimal()

功能说明:判断字符串中是否只包含数字,只包含数字就返回Ture(真)

代码示例如下↓

# 判断字符串当中是否只包含数字
num_str = "123.123"
print(num_str,end="")
print(num_str.isdecimal())

运行结果🖊

  • 123True

代码示例如下↓

# 判断字符串当中是否只包含数字
num_str = "123.123"
print(num_str,end="")
print(num_str.isdecimal())

运行结果🖊

  • 123.123False

注意:如果你是有小数的话就不会返回Ture(真)


查找和替换的方法。

  • startswith()

功能说明:检查字符串是否以 str 开头的,是的话返沪值为 Ture(真)

示例代码如下↓

str_name = "zhangsan"
print(str_name.startswith("zhangsan"))

运行结果🖊

Ture

注意:必须要按照它的函数要求来,如果是Z大写的话就会返回False。


  • endswitch()

功能说明:检查字符串是否以 str 结束,是的话就返回 True。

示例代码如下↓

str_name = "zhang san"
print(str_name.endswith("san"))

运行结果🖊

Ture

注意:是以 str 结束🔚

str_name = "zhang san"
print(str_name.endswith("zhangsan"))

如果你是这个样子的话,它就不满足endswitch()功能说明,最终返回False。


  • find()

find()方法来检索字符串中是否包含指定元素,如果包含该元素则返回该元素第一次出现的索引位置,如果不存在该字符则返回-1,它的语法结构如下↓

my_str.find(x)

my_str为要检索的字符串名,x为我们要寻找的元素。示例代码如下↓

my_str = "Python yyh"
print("找到索引值:",my_str.find('P'))
print("找不到返回",my_str.find('x'))

运行结果🖊 

找到索引值: 0

找不到返回 -1

  • replace()

replace()方法语法如下↓

str.replace(old, new, max])

功能说明: replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。

参数如下↓

  • old → 将被替换的子字符串。
  • new → 新字符串,用于替换old子字符串。
  • max → 可选字符串,替换不超过 max 次

示例代码如下↓

str1 = "Python 666"
print("原本打印的是:",str1)
print("现在打印的是:",str1.replace("666","niubang"))

运行结果🖊 

  • 原本打印的是: Python 666
  • 现在打印的是: Python niubang

大小写转换。

str = "yysy.Pythonshizhendehaoyong"
# 把所有字符中的小写字母转换成大写字母
print("转换成大写字母:",str.upper())       
# 把所有字符中的大写字母转换成小写字母
print("转换成小写字母:",str.lower())         
# 把第一个字母转化为大写字母,其余小写
print("第一个字母转换成大写,其它小写:",str.capitalize())  
# 把每个单词的第一个字母转化为大写,其余小写
print("第一个字母转化为大写,其余小写:",str.title())            

运行结果🖊 

转换成大写字母: YYSY.PYTHONSHIZHENDEHAOYONG
转换成小写字母: yysy.pythonshizhendehaoyong
第一个字母转换成大写,其它小写: Yysy.pythonshizhendehaoyong
第一个字母转化为大写,其余小写: Yysy.Pythonshizhendehaoyong

文本对齐。

文本对齐指的就是我们输出的字符串要么统一向左边对齐或者是向右边对齐又或者全部给它进行居中对齐。

string.ljust(width)

返回一个原字符串进行左对齐,并且使用空格填充至长度 width 的新字符串。

string.rjust(width)

返回一个原字符串进行右对齐,并且使用空格填充至长度 width 的新字符串。

string.center(width)

返回一个原字符串进行中对齐,并且使用空格填充至长度 width 的新字符串。

去除空白字符。

去除空白字符就是:前面没有用的空白字符和后面没有用的空白字符,全部进行删除,只保留中间有内容的部分。

string.lstrip()

功能说明:截掉 string 左边(开始)的空白字符。

string.lstrip()

功能说明:截掉 string 右边(开始)的空白字符。

string.lstrip()

功能说明:截掉 string 左右两边的空白字符。

拆分split()和连接。

string.split()

语法 split() 方法语法如下↓

str.split(str="", num=string.count(str)).

参数如下↓

  • str → 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
  • num → 分割次数。默认为 -1, 即分隔所有。

返回值如下↓

  • 返回分割后的字符串列表
  • 功能说明:可以把一个大的字符串拆分成一个字符串的列表。

代码示例如下↓

str = "PYTHON \n yyds \n yyds \n good \n"
print(str)
print(str.split())

运行结果🖊

PYTHON 
 yyds 
 yyds 
 good 

['PYTHON', 'yyds', 'yyds', 'good']


string.join()

语法 join() 方法语法如下↓

string.join(seq)

功能说明:我们这里以 string 作为分隔符,将 seq 当中所有的元素(的字符串表示)用来合并成一个新的字符串。示例代码如下↓

str = "PYTHON \n yyds \n yyds \n good \n"
print(str)
# 再使用 " "作为分隔符,拼接成一个整齐的字符串
result = " ".join(str)
print(resuly)

运行结果🖊

PYTHON 
 yyds 
 yyds 
 good 

PYTHON yyds yyds good

由于这里当中的操作太多就并不详细介绍了,以后有机会会介绍的(╹ڡ╹ )

字符串切片 

切片是使用索引值来限定范围的,从一共大的字符串当中切出一个小的字符串。

列表和元组都是有序的集合,都能够通过索引值获取到对于的数据。

字典是一个无序的集合,是使用键值对保存数据。

字符串[开始索引:结束索引:步长]
  • 开始索引:就是从一开始的位置上开始,就好比我们指定为0的话。那么就是从零开始的。
  • 结束索引:就是好比一开始开始索引是零,那么我指定二的话。就是区间的值。那么二后面的话就不包含了。如果我们想要到末尾的字符的话,只需要结束索引不指定就可以了。这样就到末尾了。
  • 步长:所谓的步长就是在我们开发的时候,对一个大的字符串指定的间隔。比如我们把步长指定为②的话,任然是从0的地方开始,那么就从0+2=2,那么就会指定到T的位置。然后,再用索引②加上步长②,那么就为④了,就是O的位置了。

练习题→字符串逆序

假设字符串定以如下↓

num_str = "0123456789"

原本的顺序是从0~9,现在的逆序就是9~0,这样的就叫做是逆序。示例代码如下↓

num_str = "0123456789"
print(num_str[-1::-1])

运行结果🖊 987654321

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

android开发者模式@adb无线调试

文章目录 adb调试功能介绍有线调试无线调试 配置无线adb调试手机端开发者选项配置电脑端配置步骤初次使用进行配对链接设备小结 检查链接是否成功 技巧快速打开无线调试 refs adb调试 功能介绍 ADB&#xff08;Android Debug Bridge&#xff09;是一种强大的命令行工具&#…

Linux初始相关配置

前言 在学完了Linux的相关基础命令后&#xff0c;在正式使用Linux系统之前&#xff0c;我觉得配置一些东西是很有意义的。 文章目录 前言1.权限配置&#xff0c;普通用户无法sudo提权2.vim配置3.vim其他操作4.动静态库5.gcc/g6.程序翻译的过程7.make/makefile8.cmake/CMakeLis…

docker拉取镜像时指定其OS及CPU指令集类型

前言 之前在香橙派5上安装的时候碰到过一次指定镜像的OS及cpu指令集类型的问题&#xff0c;但是当时没有记录&#xff0c;现在用到 了又想不起来&#xff0c;干脆就自己记录一下。预防后面忘掉。docker报错截图 上次时在arm的cpu中运行x86镜像&#xff0c;这次时在x86中运行arm…

仰暮计划|“星星之火可以燎原,平凡人的一生同样值得称赞

传递助老之情&#xff0c;践行为老初心。为学习和发扬助老为老精神&#xff0c;我参与了康乐忆享实践队开展的以“仰暮计划”为主题的实践活动&#xff0c;在实践过程中了解老人的人生经历&#xff0c;传播尊老爱老思想。我与老人谭爷爷在谈论家常时&#xff0c;他拿出年轻时的…

Blender教程-物体的移动、旋转与缩放-04

一、新建一个立方体 ShiftA新建一个立方体用来演示。 二、物体的移动 xyz轴移动 点击下图图左侧的移动选项后&#xff0c;选中要移动的物体&#xff0c;会出现三个箭头的方向&#xff0c;这分别代表沿着x、y、z轴移动。xyz平面移动 这个小正方体代表沿着某一个面移动&#…

基于JAVA的陕西非物质文化遗产网站 开源项目

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 设计目标2.2 研究内容2.3 研究方法与过程2.3.1 系统设计2.3.2 查阅文献2.3.3 网站分析2.3.4 网站设计2.3.5 网站实现2.3.6 系统测试与效果分析 三、系统展示四、核心代码4.1 查询民间文学4.2 查询传统音乐4.3 增改传统舞…

程序员的平均结婚年龄

关于程序员的平均结婚年龄&#xff0c;根据之前的信息&#xff1a; 一项对全球10000名在职程序员的调查数据显示&#xff0c;程序员第一次结婚的平均年龄是39.43周岁。而在中国的部分地区&#xff0c;如北京等地&#xff0c;程序员群体中普遍反映的结婚年龄是在30岁左右。 程序…

hive面试题

0. 思维导图 1. 简述Hive♥♥ 我理解的&#xff0c;hive就是一款构建数据仓库的工具&#xff0c;它可以就结构化的数据映射为一张表&#xff0c;并且可以通过SQL语句进行查询分析。本质上是将SQL转换为MapReduce或者spark来进行计算&#xff0c;数据是存储在hdfs上&#xff0c;…

带延迟的随机逼近方案(Stochastic approximation schemes):在网络和机器学习中的应用

1. 并行队列系统中的动态定价Dynamic pricing 1.1 系统的表述 一个含有并行队列的动态定价系统&#xff0c;该系统中对于每个队列有一个入口收费(entry charge) &#xff0c;且系统运行的目标是保持队列长度接近于某个理想的配置。 这里是这个系统的几个关键假设&#xff1a;…

ASUS华硕无畏Pro15笔记本电脑(M6500QB,M6500QH)工厂模式原厂OEM预装Windows11.22H2系统 含Recovery恢复

原装出厂Windows11系统适用于华硕无畏15笔记本电脑型号&#xff1a;M6500QB和M6500QH 链接&#xff1a;https://pan.baidu.com/s/1AVGLN6-ILIRogOMj48Mk1w?pwdmi7d 提取码&#xff1a;mi7d 带有ASUS RECOVERY恢复功能、自带所有驱动、出厂主题专用壁纸、系统属性联机支持…

keil使用教程

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据 总结 前言 例如&#xff1a;随着人工智能的不断发展&#xff0c;机器学习这门技术也越来越重…

Apipost数据库连接使用

Apipost提供了数据库连接功能&#xff0c;在接口调试时可以使用数据库获取入参或进行断言校验。目前的Apipost支持&#xff1a;Mysql、SQL Sever、Oracle、Clickhouse、达梦数据库、PostgreSQL、Redis、MongoDB 8种数据库的连接操作 新建数据库连接&#xff1a; 在「项目设置…

face_recognition和图像处理中left、top、right、bottom解释

face_recognition.face_locations 介绍 加载图像文件后直接调用face_recognition.face_locations(image)&#xff0c;能定位所有图像中识别出的人脸位置信息&#xff0c;返回值是列表形式&#xff0c;列表中每一行是一张人脸的位置信息&#xff0c;包括[top, right, bottom, l…

[Python] 如何在Windows下安装图形可视化工具graphviz

什么是graphviz? Graphviz是一款开源的图形可视化工具&#xff0c;用于生成各种结构化数据的图形表示。它支持多种图形排列算法&#xff0c;可以将复杂的数据关系用图形的方式直观地展示出来。Graphviz广泛应用于软件工程、数据可视化、计算机网络以及其他领域的可视化分析中…

Java二分查找-图文

一、二分查找概念 二分查找也叫折半查找&#xff0c;是在一组有序(升序/降序)的数据中查找一个元素&#xff0c;它是一种效率较高的查找方。 二、二分查找原理 1.二分查找的数组必须是有序数值型数组。 2.将想要查找的目标元素与查找范围内的中间元素进行比较&#xff0c;如果…

python在线聊天室(带聊天保存)

python Socket在线聊天室(带聊天保存) 需求功能 1.聊天信息保存功能(服务端会把信息保存到一个txt里面) 2.使用pyqt5框架作为一个可视化界面 3.具备一个服务端和多个客户端的功能 4.具备离线加入黑名单(离线踢出) 5.具备在线加入黑名单(在线加入黑名单被踢出) 6.具备群聊功能…

任正非最新讲话:没有退路就是胜利之路!

内容来源&#xff1a;本文来自心声社区 组织管理 9月4日&#xff0c;华为心声社区发布了华为创始人任正非在华为高端技术人才使用工作组对标会上的讲话。 任正非表示&#xff0c;先有专才&#xff0c;才有全才&#xff0c;要实现跨界交流、融合创新&#xff0c;让领袖自然成长…

计算机网络——TCP协议

&#x1f4a1;TCP的可靠不在于它是否可以把数据100%传输过去&#xff0c;而是 1.发送方发去数据后&#xff0c;可以知道接收方是否收到数据&#xff1b;2.如果接收方没收到&#xff0c;可以有补救手段&#xff1b; 图1.TCP组成图 TCP的可靠性是付出代价的&#xff0c;即传输效率…

Git安装详细步骤

目录 1、双击安装包&#xff0c;点击NEXT​编辑 2、更改安装路径&#xff0c;点击NEXT 3、选择安装组件 4、选择开始菜单页 5、选择Git文件默认的编辑器 6、调整PATH环境 7、选择HTTPS后端传输 8、配置行尾符号转换 9、配置终端模拟器与Git Bash一起使用 10、配置额外…

内存管理(mmu)/内存分配原理/多级页表

1.为什么要做内存管理&#xff1f; 随着进程对内存需求的扩大&#xff0c;和同时调度的进程增加&#xff0c;内存是比较瓶颈的资源&#xff0c;如何更好的高效的利于存储资源是一个重要问题。 这个内存管理的需求也是慢慢发展而来&#xff0c;早期总线上的master是直接使用物…
最新文章