当前位置: 首页 > news >正文

Python之字符串的创建、索引和分片

字符串

  • 1、字符串类型
  • 2、三重引号字符串
  • 3、非显示字符
  • 4、字符序列(索引)
  • 5、分片
    • 分片的步长
    • 复制分片
    • 分片练习

程序设计语言认为可以打印的字符序列就是字符串。
字符串不一定都有意义,例如‘xyz’。

1、字符串类型

字符串类型是由Python提供的数据集类型之一。
数据集类型是由一组Python对象构成的单个对象。
创建方式:

  • str()函数。如str(123)可以得到字符串“123”
  • 用两个单引号或两个双引号括起来(引号必须成对且前后一致)。例如:a="123"或a='123’都可以得到字符串

2、三重引号字符串

如果字符串的内容出现引号,可以怎么表示呢?
(1)内容里是单引号,字符串用双引号表示,如下图a
(2)内容里是双引号,字符串用单引号表示,如下图b
(3)内容里是的引号前加上\符号,字符串不管是单引号和双引号,都可以。如下图c和d

错误表示:内容中的引号和字符串使用的引号类型是一样的,如下图e和f
在这里插入图片描述
但这样每次都要考虑清楚,避免使用错误。
“三重引号”具有单引号和双引号的功能,还有以下特点:
(1)使用三重引号时,内容里出现单引号或双引号都没关系。
在这里插入图片描述
(2)加了三重引号的字符串,但没有赋值给变量,相当于注释语句
(3)当内容太长时,三重引号的内容可以跨行
在这里插入图片描述

3、非显示字符

Python中有些字符在输出时显示为空白,通常有反斜杠和字母组成。
最常见的是“\n”和"\t"

字符含义
\n回车符(下一行)
\t横向制表符(4个空格的大小)

在这里插入图片描述

4、字符序列(索引)

字符串对象定义为字符序列。
"Hello world"是包含11个字符的序列,要注意其中的空格也是一个字符。因为序列是有顺序的,所示可以根据字符在序列中的位置将其进行编号、如图所示。
在这里插入图片描述
字符在字符串中的位置称为**“索引”。在Pyhon和其他程序语言中,序列中索引的第一个值为0**。

Python 使用索引运算符“[]”,查看字符串序列中的单个字符。
例如,“Hello world”[0]。方括号中的整数是相关联字符串中某个字符的索引,在索引0位置的字符指的是字符“H”。一定要记住,索引是从0开始。“Helloworld”[4]指的是序列中的第5个元素,也是索引位置为4的字符,即字母“o”。

Python也可以从字符串的末端开始建立索引。如果想从末端建立索引,从-1开始计数。在上图中-1是指字符串的最后一个字符,-2是倒数第二个字符,依此类推。
在这里插入图片描述

5、分片

分片是选中字符串中的部分子序列。
格式为:字符串[起始索引:终止索引]
和前面的range()函数一样,在Python中,一般终止值是不包含在内的
如[6:10]得到的是索引值为6-9的内容,如图
在这里插入图片描述
特殊情况:
(1)只给出冒号右侧的索引值,左侧起始值默认为0。取值从第一个值一直到终止值(不包括终止索引值)
(2)只给出冒号左侧的索引值,右侧终止索引值默认到结束
在这里插入图片描述
(3)结合负数索引的切片
在这里插入图片描述

分片的步长

分片还可以加入第三个参数,代表分片的步长。
当起始值和终止值为默认值,步长为-1时,会得到一个逆序的字符串。如a[::-1]
在这里插入图片描述

复制分片

起始值和终止值都为默认值时,会得到一个一模一样的字符串,如a[:]

分片练习

在这里插入图片描述
【参考答案】
(a)bbcc
(b)abb
(c)abc
(d)aabb
(e)ab

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 深入理解 GO 语言并发
  • 双配置视觉 Transformer 在多模态中的突破 !
  • Linux服务器:Samba配置
  • Java - 正则表达式
  • Memecoin的火爆与AMM在Solana上的主导地位
  • 嵌入式八股-C++面试30题(20240814)
  • Hibernate Session在项目中的创建方式
  • Nginx+Tomcat 群集
  • python发送外部请求
  • element 动态设置el-table 高度
  • Unity脚本一键修改所有预制体
  • Spring之@ComponentScan注解
  • HTTP/1.1
  • 【ACM独立出版丨接受全文摘要投稿】2024年生物医药和智能技术国际学术会议(ICBIT 2024,8月23-25)
  • Python知识点:如何使用Cocos2d进行游戏编程
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • Java方法详解
  • JSDuck 与 AngularJS 融合技巧
  • Laravel 菜鸟晋级之路
  • php中curl和soap方式请求服务超时问题
  • RxJS: 简单入门
  • Spark VS Hadoop:两大大数据分析系统深度解读
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • vue中实现单选
  • 爱情 北京女病人
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 回流、重绘及其优化
  • 技术发展面试
  • 原生js练习题---第五课
  • raise 与 raise ... from 的区别
  • ​TypeScript都不会用,也敢说会前端?
  • #HarmonyOS:基础语法
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (16)Reactor的测试——响应式Spring的道法术器
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (ZT)薛涌:谈贫说富
  • (搬运以学习)flask 上下文的实现
  • (附源码)spring boot儿童教育管理系统 毕业设计 281442
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (三)centos7案例实战—vmware虚拟机硬盘挂载与卸载
  • (四)图像的%2线性拉伸
  • (一)、软硬件全开源智能手表,与手机互联,标配多表盘,功能丰富(ZSWatch-Zephyr)
  • (一)使用Mybatis实现在student数据库中插入一个学生信息
  • (一)为什么要选择C++
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • (转)原始图像数据和PDF中的图像数据
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • .NET Core 2.1路线图
  • .NET Reactor简单使用教程
  • .net 流——流的类型体系简单介绍
  • .NetCore部署微服务(二)
  • @Controller和@RestController的区别?