Python入门教程+项目实战-9.2节: 字符串的操作符

news2024/9/23 7:28:41

目录

9.2.1 字符串常用操作符

9.2.2 +操作符:拼接字符串

9.2.3 *操作符:字符串的乘法

9.2.4 []操作符:索引访问

9.2.5 [:]操作符:分片字符串

9.2.6 in操作符:查找子串

9.2.7 %操作符:格式化字符串

9.2.8 知识要点

9.2.9 系统学习python


9.2.1 字符串常用操作符

字符串类型是一种抽象数据类型,抽象数据类型定义了数据类型的操作方法,在本节的内容中,着重介绍通过操作符来对字符串进行操作。

字符串类型常用的操作符如下表所示:

9.2.2 +操作符:拼接字符串

+操作符用来实现字符串的拼接功能,返回拼接后的字符串。

操作语法:

Python

str = str1 + str2

代码实例:

Python

# 男性程序员想找到女朋友,首先得认识一名女性
girl = "王祖贤" 
# 然后把她变成朋友
friend = "是我女朋友" 
# 再通过不断地相处和吸引,使她变成你的女朋友
girl_friend = girl + friend
# girl_friend指向的值为"王祖贤是我女朋友"

9.2.3 *操作符:字符串的乘法

"*" 操作符用来对字符串进行重复输出,返回一个新的字符串。例如字符串chips重复输出3次,则新的字符串为chipschipschips。

操作语法:

Python

str = str * int(number)

代码实例:

Python

chips = "chips" 
# *操作符后面的必须为整型
chips = chips * 3 
# chips指向的值为chipschipschips
# *操作符后面的数如果小于等于0,那么输出的为空字符串
chips = chips * 0
# chips指向的值为 ''

9.2.4 []操作符:索引访问

字符串类型是一种线性的序列结构,可以通过索引访问数据集合中的每一个元素。

操作语法:

Python

ch = str[index]

index表示索引,在Python中,索引值必须为整型数字。Python中的索引分为正索引和负索引。正索引从0开始编号。例如在字符串"我一直深爱着你"中,编号0对应的是字符'我',编号1对应的是字符'一',以此类推。负索引表示从末尾开始数起,从-1开始编号。例如-1表示访问倒数第1个,-2表示倒数第二个。正负索引值必须在有效范围之内,否则会抛出访问越界的异常信息。 同学们看下图所示的顺序表结构,以加深对索引的理解:

在图中字符'我'对应的索引值是0,字符'一'的索引是1,字符'你'的正索引是6,负索引为-1,字符'着'的正索引是5,负索引为-2,以此类推。正索引的有效范围在[0,6],负索引的有效范围在[-7,-1],同学们可举一反三。

代码实例:

Python

# 字符串"我一直深爱着你",长度为7
# 正索引的有效范围在[0,6]
# 索引的有效范围在[-7,-1]
love = "我一直深爱着你" 
word = love[0]
# word指向的值为我
word = love[-1] 
# word指向的值为你
word = love[7] 
# 正索引值超出有效范围,抛出异常信息
word = love[-8] 

"""
负索引值超出有效范围,抛出异常信息
Python中的字符串是一种静态的数据类型,可以通过[]来访问字符串中的字符,
但不能通过[]操作符对字符进行修改
"""

9.2.5 [:]操作符:分片字符串

使用分片操作符来对字符串进行切片操作, :前后传递索引值,所谓的切片是将前索引与后索引之间的内容进行截断,索引区间遵循左闭右开原则。

操作语法:

(1) 操作语法为 [前索引:后索引],例如[0:5], 表示截取索引0到索引5(不包括索引5)之间的值
(2) 前索引的值可不填,[:后索引],此时前索引的值等于0
(3) 后索引的值可不填,[前索引:],此时后索引的值等于字符串的长度
(4) 前后索引的值可同时不填,[:],此时前索引的值等于0,后索引的值等于字符串的长度。

代码实例:

Python

 # 定义字符串变量love
 love = "我一直深爱着你" 
 words = love[0:1] 
 # 截取索引0到索引1之间的字符,值为'我'
 
 words = love[0:3] 
 # 截取索引0到索引3之间的所有字符,值为'我一直'
 
 words = love[0:-1] 
 # 截取索引0到倒数第一个之间的所有字符,值为'我一直深爱着'
 
 words = love[:] 
 # 相当于[0:7],即截取索引0到索引6之间的所有字符

9.2.6 in操作符:查找子串

Python中的"in"是成员操作符,在字符串中用来查找子串是否存在于主串内,若存在返回值为布尔类型True,否则返回False。"not in" 是 "in" 的对立面, 即表示是否子串不存在于主串内,返回的结果为布尔类型。

代码实例:

Python

# 定义字符串变量love
love = "我一直深爱着你" 
words = "深爱"
result = words in love 
# 返回值为True
words = "我爱你"
result = words in love 
# 返回值为False
result = words not in love 
# 返回值为True

9.2.7 %操作符:格式化字符串

在Python中,使用"%"格式化操作符对字符串进行格式化,关于字符串的格式化,将在9.4节中进行详细讲解。

9.2.8 知识要点

(1) 字符串是一种抽象数据类型
(2) 字符串是一种线性的序列结构,可通过索引来对字符进行访问
(3) 序列结构中的正索引从0开始进行编号,负索引从-1开始编号
(4) 字符串是一种静态数据类型,不可以对字符串中的字符进行修改

9.2.9 系统学习python

 薯条老师简介:资深技术专家,技术作家,著有《Python零基础入门指南》,《Java零基础入门指南》等技术教程。薯条老师的博客:http://www.chipscoco.com, 系统学习后端,爬虫,数据分析,机器学习、量化投资。

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

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

相关文章

为什么要做软件测试

随着信息技术的发展和普及,人们对软件的使用越来越普及。但是在软件的使用过程中,软件的效果却不尽如人意。为了确保软件的质量,整个软件业界已经逐渐意识到测试的重要性,软件测试已经成为IT 领域的黄金行业。本篇文章将会带领大家…

使用Tensorboard多超参数随机搜索训练

文章目录1超参数训练代码2远端电脑启动tensorboard完整代码位置https://gitee.com/chuge325/base_machinelearning.git 这里还参考了tensorflow的官方文档 但是由于是pytorch训练的差别还是比较大的,经过多次尝试完成了训练 硬件是两张v100 1超参数训练代码 这个…

Android Studio升级Gradle Plugin升级导致项目运行失败问题

背景&错误 升级Android Studio 旧项目无法运行,奇奇怪怪什么错误都有 例如: java.lang.IllegalAccessError: class org.gradle.api.internal.tasks.compile.processing.AggregatingProcessingStrategy (in unnamed module 0x390ea9fb) cannot acce…

传智健康-day2

一.需求分析(预约管理功能开发) 预约管理功能,包括检查项管理、检查组管理、体检套餐管理、预约设置等、预约管理属于系统的基础功能,主要就是管理一些体检的基础数据。 检查组是检查项的集合 二.基础环境搭建 1导入预约管理模块数据表 需要用到的…

Ubuntu安装MySQL及常用操作

一、安装MySQL 使用以下命令即可进行mysql安装,注意安装前先更新一下软件源以获得最新版本: sudo apt-get update #更新软件源 sudo apt-get install mysql-server #安装mysql 上述命令会安装以下包: apparmor mysql-client-5.7 mysql-c…

不定期更新:我对 ChatGPT 进行多方位了解后的报告,超级全面,建议想了解的朋友看看

优质介绍视频: GPT4前端【AI编程新纪元】 【渐构】万字科普GPT4为何会颠覆现有工作流;为何你要关注微软Copilot、文心一言等大模型 此文章不定期更新(一周应该会更新一次) 最近一次更新:2023.4.16 12:00 ChatGPT 是什…

零基础搭建私人影音媒体平台【远程访问Jellyfin播放器】

文章目录1. 前言2. Jellyfin服务网站搭建2.1. Jellyfin下载和安装2.2. Jellyfin网页测试3.本地网页发布3.1 cpolar的安装和注册3.2 Cpolar云端设置3.3 Cpolar本地设置4.公网访问测试5. 结语1. 前言 随着移动智能设备的普及,各种各样的使用需求也被开发出来&#xf…

关于加强供水企业营销管理的几点思考

供水营销部门是供水企业最重要的职能部门之一,其工作职能直接与供水企业的经济利益和社会效益息息相关,具体来说,主要涉及到五个方面的指标内容:水费回收率、 水量漏损率(产销差率)、水表完好率、水价调整及…

《年会抽奖》:无人获奖的概率

目录 一、题目 二、思路 1、错排问题 2、n 的阶乘 3、输出格式要求 三、代码 一、题目 题目:年会抽奖 题目链接:年会抽奖 今年公司年会的奖品特别给力,但获奖的规矩却很奇葩: 1. 首先,所有人员都将…

SpringBoot起步依赖和自动配置

文章目录 1、起步依赖2、自动配置 1、起步依赖 概念 起步依赖本质上是一个Maven项目对象模型(Project Object Model,POM),定义了对其他库的传递依赖,这些东西加在一起支持某一功能。 简单的说,起步依赖就…

这才是后端API该有的样子

一般系统大致架构如下: 有些小伙伴会说,这个架构太简单太low了吧,什么网关、缓存、消息中间件都没有。 需要说明的是,因为我们主题是API接口(tbAPI,pinduoduo API接口调用)所以聚焦这一点上就行…

Java FileChannel文件的读写实例

一、概述: 文件通道FileChannel是用于读取,写入,文件的通道。FileChannel只能被InputStream、OutputStream、RandomAccessFile创建。使用fileChannel.transferTo()可以极大的提高文件的复制效率,他们读和写直接建立了通道&#x…

【Leetcode刷题】链表的中间结点和合并两个有序链表

生命如同寓言,其价值不在与长短,而在与内容。 ——塞涅卡 目录 一.链表的中间结点 1.快慢指针 二.合并两个有序链表 1.尾插法 一.链表的中间结点 给你单链表的头结点 head ,请你找出并返回链表的中间结…

Java——对象克隆(复制)

假如想复制一个简单变量。很简单: int apples 5; int pears apples; 不仅int类型,其它七种原始数据类型(boolean,char,byte,short,float,double.long)同样适用于该类情况。 但是如果你复制的是一个对象,情况就复杂了。 假设说我是一个b…

windows安装scoop

scoop介绍 Scoop是一款适用于Windows平台的命令行软件(包)管理工具。简单来说,就是可以通过命令行工具(PowerShell、CMD等)实现软件(包)的安装管理等需求,通过简单的一行代码实现软…

博客上几种新职业的工作指南

© 2019 Conmajia 我不是在嘲讽谁,真的😅 看了不少博客,发现了一些共同点。我觉得可以把这些博主分类一下,形成几种新的职业。 1. 超文本抄书匠Hypertext Copier Job description 拥有悠久历史的手打大师,大段抄录…

2023-04-16 算法面试中常见的栈和队列问题

栈和队列 1 栈的基础应用:20.括号匹配 class Solution {public boolean isValid(String s) {Stack<Character> stack new Stack<>();for (int i 0; i < s.length(); i) {char c s.charAt(i);if (c ( || c [ || c {) {stack.push(c);} else {// 还有字符…

【Linux】进程间通信 -- 命名管道

前言 在管道的通信中&#xff0c;除了匿名管道&#xff0c;还有一个命名管道。 匿名管道只支持具有“亲戚关系”的进程间通信&#xff0c;而命名管道就可以支持不同的&#xff0c;任意的进程通信。 那就下来就开始我们今天的学习。 文章目录 前言一. 命名管道二. 命名管道的应用…

快速了解数据仓库建模

快速了解数据仓库建模 1、什么是OLTP和OLAP&#xff1f;2、为什么不在业务系统做数据分析呢&#xff1f;3、什么是数据库建模&#xff1f;4、关系建模。5、维度建模。5.1 事实表5.2 维度表 6、 数据仓库分层。6.1、 数仓分层结构6.2、 为什么需要对数据仓库分层&#xff1f; 1、…

Linux网络服务之DHCP篇

目录一、了解DHCP服务1.1DHCP定义1.2DHCP好处1.3DHCP的分配方式二、DHCP工作过程三. 使用DHCP动态配置主机地址一、了解DHCP服务 1.1DHCP定义 DHCP&#xff08;动态主机配置协议&#xff09;是一个局域网的网络协议。指的是由服务器控制一段IP地址范围&#xff0c;客户机登录…