程序猿大战Python——容器——字符串

字符串介绍

什么是Python容器

==目标:==了解Python容器是什么?

在现实生活中,我们知道容器是用来存放东西的,比如实验室里的烧杯等。

类似的,在Python中的容器是用来存放数据的。

与此同时,为了操作方便,Python给我们提供了对容器中数据处理的方法,例如增加、删除、修改、查询等。

变量名.函数(x)

说明:

请记住这个操作方法的格式。

在Python中,常见容器有:

(1)字符串:str

(2)列表:list

(3)元组:tuple

(4)字典:dict

下面用简单话语来理解并记忆这几种常见容器。

(1)字符串:使用双引号引起来的内容;
(2)列表:使用[ ]表示的内容;
(3)元组:使用( )表示的内容;
(4)字典:使用{ }表示,内部元素是键值对。

说明:

当要查看某数据的类型时,使用【type(x)】。

例如,一起来完成:

(1)分别定义字符串、列表、元组、字典变量;

(2)使用【type(变量名)】查看变量的类型;

(3)执行程序,观察效果。

# 1.字符串变量
# a = "itheima"
# print(a)  # itheima
# print(type(a))  # <class 'str'>

# 2.列表
# b = ["it","heima"]
# print(b)  # ['it', 'heima']
# print(type(b))  # <class 'list'>

# 3.元组
# c = ("it","heima",)
# print(c)  # ('it', 'heima')
# print(type(c))  # <class 'tuple'>

# 4.字典
d = {"name":"itheima","age":17}
print(d)
print(type(d))  # <class 'dict'>

==总结:==

(1)常用的Python容器有:(==字符串==)、列表、元组、字典;

(2)注意:Python容器有很多操作方法,但都是使用【变量名.函数(x)】形式完成调用。

创建字符串

==目标:==掌握如何创建字符串。

字符串表示文本内容,例如中文文字、学生姓名、一段英文等。

通俗地说,字符串就是使用双引号引起来的内容。

创建字符串语法:

变量名 = "内容"

说明:

字符串可以使用双引号或单引号表示,较常见的是双引号表示。

例如,一起来完成:

(1)使用双引号表示一个公司名称;

(2)使用单引号表示公司名称;

(3)分别输出变量的类型结果;

(4)思考1:使用字符串与一个数值拼接,会怎样?

(5)思考2:一段使用引号表示的字符串中,还有引号,该怎么处理?

# 1.双引号
strs1 = "程序员"
print(strs1)
print(type(strs1))  # <class 'str'>

# 2.单引号 -扩展
# strs2 = 'itheima'
# print(strs2)
# print(type(strs2))  # <class 'str'>

# 1.字符串拼接
# a. + 字符串连接符
# b. 字符串只能和字符串数据拼接
# s1 = "hello"+"world"
# print(s1)

# s2 = "hello"+666  # 报错
# s2 = "hello"+"666"
# s2 = "hello"+str(666)  # 指定数据类型名(变量)
# print(s2)   # A.hello666   B、其他的

# 2.引号? -扩展
# 东升说: "我是38期最帅的男人."
# a = '东升说: "我是38期最帅的男人."'
# a = "东升说: \"我是38期最帅的男人.\""
# a = "东升说: '我是38期最帅的男人.'"
a = """东升说: "我是38期最帅的男人."
"""   # 参考
print(a)

==总结:==

(1)在实际应用中,创建字符串可以使用:单引号、双引号或三引号,但优先使用双引号;

(2)注意:字符串只能与字符串值进行拼接,这句话正确吗?==A、正确==;B、错误。

索引

==目标:==掌握索引的使用。

索引有时也称为下标、编号。

先来看看现实生活中的索引。比如超市门口的储物柜可以通过编号【索引】来找到。

Python字符串的索引,就与储物柜编号类似。比如有个字符串变量:name = 'abcdef',存放效果:

获取字符串元素语法:

变量名[索引值]

说明:

索引值是从0开始计算的。

接着,来看一下字符串长度的表示方式。

函数名含义
len(s)返回变量s的长度或元素个数。

说明:

(1)长度值是从1开始计算的;

(2)索引与长度的关系可表示为:【最大索引值 = 长度 - 1】。

例如,一起来完成:

(1)定义一个存有HelloWorld的字符串变量;

(2)获取变量中的H和W;

(3)获取变量的总长度;

(4)思考:如何获取变量的最后一个元素d。

# 1.定义变量
strs = "HelloWorldABCDE"
# 2.获取元素
# print(strs[0])
# print(strs[5])
​
# 3.长度
# print(len(strs))
​
# 4.访问最后一个元素
# 正常
# print(strs[9])
print(strs[len(strs)-1])  # 灵活 = 更好维护
​
# 逆向
print(strs[-1])

==总结:==

(1)当使用超出最大索引的值去访问字符串的元素,会报错;

(2)注意:索引与长度的关系是:【最大索引值 = (长度 - 1)】。

切片

==目标:==掌握字符串的切片操作。

切片指的是:截取字符串中的一部分内容。

切片语法:

[起始:结束]

另外的,当需要每隔几个字符来截取内容时,可以加入步长,语法:

[起始:结束:步长]

说明:

(1)切片语法选取的范围是左闭右开型,即[起始, 结束);

(2)注意:截取内容时,包含起始位,但不包含结束位。

例如,一起来完成:

(1)定义一个字符串变量,内容为:HelloITHEIMA;

(2)截取索引值1到5之间的内容;

(3)截取索引值2到结尾的内容;

(4)截取索引值2到倒数第2个的内容;

(5)截取起始处到索引值为3的内容;

(6)截取索引1到8且每隔2个字母截取一下内容;

(7)截取索引2到10且每隔3个截取一下内容。

# 1.定义变量
strs = "HelloITHEIMA"
# 2.1-5
# print(strs[1:5])
# 3.2-
# print(strs[2:12])
# 4.2 - 倒数第2
# print(strs[2:10])
# 5. -3
# print(strs[0:3])
# 6 1 8 2
# print(strs[1:8:2])
# 7. 2 10 3
print(strs[2:10:3])
strs = "HelloITHEIMA"
# 3.2-
# print(strs[2:12])
# print(strs[2:100])
# print(strs[2:])
​
# 4.2 - 倒数第2
# print(strs[2:10])
# print(strs[2:-2])
​
# 5. -3
# print(strs[0:3])
# print(strs[:3])
​
# 从后往前数数,可以使用负数表示;  当从开始处截取时,可以省略起始位; 当截取到结尾处时,可以省略结束位.
​
# 升级: 记住   若要对字符串反转,该怎么做?
print(strs[::-1])

==总结:==

(1)切片最简单的语法是:[起始:结束],且默认步长为1;

(2)注意:切片操作适用于所有序列的操作,比如对字符串、列表、元组等,这句话正确吗?==A、正确==;B、错误。

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

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

相关文章

Java毕业设计 基于springboot vue大学生助学贷款管理系统

Java毕业设计 基于springboot vue大学生助学贷款管理系统 SpringBoot 大学生助学贷款管理系统 功能介绍 学生 登录 注册 个人中心 修改密码 个人信息 助学贷款 申请贷款 放贷信息 还贷信息 公告资讯 学校 登录 注册 个人中心 修改密码 个人信息 助学贷款管理 申请贷款管理 公…

java:mybatis查询时自动添加tenantId和deleted查询条件

# 参考资料 https://blog.csdn.net/chenhz2284/article/details/139606486?spm1001.2014.3001.5502 # 示例代码 【pom.xml】 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>&l…

纳税信用评级:企业的“金字招牌”

在快速发展的市场经济中&#xff0c;企业的信用状况越来越成为其竞争力的重要组成部分。而在税务领域&#xff0c;纳税信用评级更是衡量一个企业是否诚信经营的重要指标。今天&#xff0c;就让我们一起来深入了解纳税信用评级的相关知识。 一、纳税信用评级是什么&#xff1f;…

Python中的钩子函数(hooks)介绍使用

什么是hook&#xff1f; 钩子函数&#xff0c;顾名思义&#xff0c;就是把我们自己实现的自定义函数在某一时刻挂接到目标挂载点上去执行。 1. hook函数&#xff0c;就是我们自己实现的函数&#xff0c;函数类型与挂载点匹配&#xff08;返回值&#xff0c;参数列表&#xff0…

Fake news detection: A survey of graph neural network methods

abstract 各种社交网络的出现产生了大量的数据。捕获、区分和过滤真假新闻的有效方法变得越来越重要&#xff0c;特别是在 COVID-19 大流行爆发之后。本研究对假新闻检测系统的图神经网络 (GNN) 的现状和挑战进行了多方面、系统的回顾&#xff0c;并概述了使用 GNN 实现假新闻…

C++STL初阶(4):初识vector

vector是一个类模版&#xff0c;是一个顺序容器&#xff0c;底层思维就是顺序表&#xff0c;而顺序表的本质就是一个可以改变size的数组。本篇基于string的学习基础&#xff0c;我们对vector进行一个大致的了解和学习 1.基本介绍 1. vector 是表示可变大小数组的序列容器&#…

老生常谈!程序员为什么要阅读源代码?

大家好&#xff0c;我是码农先森。 阅读源码这是一个老生常谈的话题了&#xff0c;但又是很多人想做又没有付出行动的事情。前段时间我研究了 Swoole 的源代码&#xff0c;并且输出了系列的源码分析文章「感兴趣的朋友可以翻阅以前的文章」。虽然这个过程很枯燥和艰难&#xf…

css font-family

知乎的font-family的设置理解 -apple-system, BlinkMacSystemFont 这两个值是为了确保在macOS和iOS系统上能够使用系统默认字体进行文本渲染。-apple-system特别为Safari浏览器设计&#xff0c;而BlinkMacSystemFont则主要针对基于Chromium的浏览器&#xff08;如Chrome&#…

【Linux】shell——条件判断test,各种运算符,expr

条件判断——test 真——0 假——1 test expression or [ expression ] 整数运算符 字符串运算符 -z 长度是否为0 -n 长度是否不为0 str1 str2 str1 ! str2 补 &&-->逻辑与&#xff0c;前面为真后面才会执行 || -->逻辑或&#xff0c;前面为假后面才…

京东网页html+css简单制作1(附带源码和素材)

一.代码效果展示 代码html骨架结构分为头部top,颈部banner&#xff0c;中间部分main,腿部fortet-image,尾部fortter&#xff0c;五部分组成&#xff0c;从上至下&#xff0c;从左到右结构。&#xff08;总体因为没设计版心&#xff0c;所以位置比较乱&#xff09; 其中中部mai…

云动态摘要 2024-06-11

给您带来云厂商的最新动态,最新产品资讯和最新优惠更新。 最新优惠与活动 [低至1折]腾讯混元大模型产品特惠 腾讯云 2024-06-06 腾讯混元大模型产品特惠,新用户1折起! 云服务器ECS试用产品续用 阿里云 2024-04-14 云服务器ECS试用产品续用 最新产品更新 云服务器运维监…

设计模式-代理模式(结构型)

代理模式 代理模式是一种结构型模式&#xff0c;它可以通过一个类代理另一个类的功能。代理类持有被代理类的引用地址&#xff0c;负责将请求转发给代理类&#xff0c;并且可以在转发前后做一些处理 图解 角色 抽象主题&#xff08;Subject&#xff09;: 定义代理对象和被代理…

【安卓13 源码】Input子系统(2) - input系统与应用进程通信

点击手机屏幕&#xff0c;可以分发input 事件到对应的view&#xff0c;由上一节知道input 是运行在system 进程的&#xff0c;那应用进程与系统进程是如何通讯的呢&#xff0c;相信本文可以给到一点小小的答案。 先给个结论&#xff1a;应用在resume 的时候才去建立与input 服…

项目部署(前后端)

一&#xff1a;多环境概念&#xff1a; 借鉴来源&#xff1a;多环境设计_程序员鱼皮-多环境设计-CSDN博客 为什么需要多环境&#xff1a; 第一个例子&#xff1a;我们可以设想&#xff0c;我们肯定玩过王者荣耀&#xff0c;且王者荣耀也一直在不断更新&#xff0c;如果按我们…

cleanmymac清理时要一直输入密码 CleanMyMac X一直提示输入密码的解决方案

CleanMyMac X是一款专业的Mac清理软件&#xff0c;可智能清理mac磁盘垃圾和多余语言安装包&#xff0c;快速释放电脑内存&#xff0c;轻松管理和升级Mac上的应用。同时CleanMyMac X可以强力卸载恶意软件&#xff0c;修复系统漏洞&#xff0c;一键扫描和优化Mac系统。 在使用Cle…

【人工智能基础学习】Andrew Ng-机器学习基础笔记

⭐️我叫忆_恒心&#xff0c;一名喜欢书写博客的研究生&#x1f468;‍&#x1f393;。 如果觉得本文能帮到您&#xff0c;麻烦点个赞&#x1f44d;呗&#xff01; 近期会不断在专栏里进行更新讲解博客~~~ 有什么问题的小伙伴 欢迎留言提问欧&#xff0c;喜欢的小伙伴给个三连支…

HyperSnap软件最新版下载-HyperSnap官方最新版附加详细安装步骤

​HyperSnap是一个老牌优秀的屏幕截图工具&#xff0c;全新界面&#xff0c;不仅能抓取标准桌面程序&#xff0c;还能抓取 DirectX, 3Dfx Glide的 游戏视频或 DVD 屏幕图&#xff0c;能以 20 多种图形格式&#xff08;包括&#xff1a;BMP, GIF,JPEG, TIFF, PCX等&#xff09;保…

鸿蒙开发:应用组件跨设备交互(流转)【跨端迁移】

跨端迁移 概述 在用户使用设备的过程中&#xff0c;当使用情境发生变化时&#xff08;例如从室内走到户外或者周围有更适合的设备等&#xff09;&#xff0c;之前使用的设备可能已经不适合继续当前的任务&#xff0c;此时&#xff0c;用户可以选择新的设备来继续当前的任务&a…

C盘爆满?教你轻松清理无故产生的大量临时文件!

在电脑操作中&#xff0c;用户发现自己系统C盘爆满了&#xff0c;无缘无故产生了大量的临时文件&#xff0c;导致电脑运作变得卡顿&#xff0c;但不知道要怎么操作才能解决这个问题&#xff1f;接下来小编给小伙伴们带来不同的解决方法&#xff0c;轻松清理电脑上的临时文件。 …

【lesson7】服务端业务处理模块实现

文章目录 业务处理实现思路业务处理类设计成员变量成员函数RunModuleupLoadlistShowdownLoadgetETagInfo 业务处理实现思路 云备份项目中 &#xff0c;业务处理模块是针对客户端的业务请求进行处理&#xff0c;并最终给与响应。而整个过程中包含以下要实现的功能&#xff1a; …