Python 字符串的使用

news2024/11/17 21:26:37

字符串使用

1. 字符串的定义方式

双引号或者单引号括起来的数据,就是字符串。使用三引号括起来也是字符串,并支持换行。

例:

#  使用反斜线 对单引号进行转义
name1 = 'i\' Tom'
name2 = "Rose"
name3 = '''Tom '''
name4 = """ Rose """
a = ''' i am tom
		    nice to meet you! '''
b = """ i am Rose,
      nice to meet you too ! """

2. 字符串输出

  1. 格式化操作符 %

    name = '辉哥'
    print('姓名:%s' % name)
    
  2. f-strings

name = '辉哥'
address = '西安'
format_string1 = '我的名字是{name}, 我在{address}'
print(format_string1)
op_str = F" 3 + 5 = {3+5}"
a = 10
b = 20
op_str2 = f" a + b = {a+b}"
print(op_str)
print(op_str2)

3. 字符串输入

username = input('请输入用户名:')
print("用户名为:%s" % username)

4. 字符串常见操作

1. 下标和切片

​ 下标也就是字符串字符的索引,从0开始,通过索引可以获取当前索引的字符.
在这里插入图片描述

name = 'abcdef'
print(name[0])
print(name[2])
"""
输出如下:
a
c
"""

切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组、都支持切片操作。

切片的语法:字符串[起始:结束:步长]

选取的区间从起始位置开始,到结束位置的前一位,不包含结束位置,步长表示选取的间隔。

起始参数默认为0,结束位置默认最后,步长默认为1 字符串[2:] 表示从下标2开始到最后全部

结束为负数(-2)表示从起始位置到倒数第几(2)个。

步长为负数表示结果反着取,从后向前取。

name = 'abcdef'
print(name:[0:3])
print(name:[3:])
print(name:[::-2]) #从后向前 每隔两个取一个
print(name[::-1]) #字符串反转输出
# 运行结果
abc
def
fdb
fedcba

2. find & rfind

语法: 字符串.find(子串,开始位置下标,结束位置下标)

示例:在开始和结束下标之间查找子串出现的其实下标位置

mystr = 'hello world i am hui zi'
index = mystr.find('hui', 0 10)
print(index)
# 输出 -1
index = mystr.find('hui')
print(index)
# 输出 17

rfind 和find 一样,只不过是从右边开始查找,结果和find一样

3. index & rindex

index 跟find方法一样,只不过在没有找到子串的情况下会抛出一个异常(ValueError)。

字符串序列.index(⼦串, 开始位置下标, 结束位置下标)

rindex 和 index 一样,只是从右边开始查找。结果一样。

4. count

语法: 字符串序列.count(⼦串, 开始位置下标, 结束位置下标)

mystr = 'hello world i am hui zi'
index = mystr.find('i')
print(index)
# 输出 3

5. replace

语法:字符串序列.replace(旧⼦串, 新⼦串, 替换次数N)

将字符串中的旧子串使用新子串进行替换N次.

mystr.replace(str1, str2, mystr.count(str1))

6. split

语法:字符串序列.split(分割字符, num)

将字符串使用分割字符进行分割num次。最多产生num+1个子串。num不指定则最大次数分割。

name="hello world ha ha"
result = name.split(" ", 2)
print(result)
#输出 ['hello', 'world', 'ha ha']

7. join

语法: 字符或⼦串.join(多字符串组成的序列)

例:

li = ["my","name","is","tom"]
str = " "
result = str.join(li)
print(result)
#输出 "my name is tom"

8. capitalize

把字符串的第一个字母大写

语法: mystr.capitalize()

mystr = "hello world"
str = str.capitalize()
print(str)
# Hello world

9. title

将字符串每个单词的首字母大写

a = 'hello world python'
b = a.title()
print(b)
# 输出 Hello World Python

10. lower & upper

将字符串全部转换为小写或者大写

语法: str.lower() str.upper()

11. lstrip & rstrip & strip

删除字符串左边出的空白字符,或者右边处的空白字符。或者删除两边的空白字符

str.lstrip() str.rstrip() str.strip()

12. ljust & rjust & center

返回一个原字符串 左对齐或者右对齐,或者居中对齐 按参数长度 不足的用空格补齐。

a = 'hello'
b = a.ljust(8)
c = a.rjust(8)
d = a.center(8)
print(b)
print(c)
print(d)
"hello   "
"   hello"
" hello  "

13. startswith & endswith

检查字符串是否以参数子串开始或者结束,是返回True 不是返回False

14. isalpha & isdigit & isalnum & isspace

检查字符串所有字符是否都是以字母(isalpha)或者数子(isdigit) 或者字母或数字(isalnum)或者全空格(isspace) 组成 ,是返回True,不是返回False。

15. partition & rpartition

将字符串以参数子串为分割串,切割成 子串前,子串,子串后。rpartition为从右边开始找第一次出现的子串。

16. splitlines

按照行分割,将一个包含换行的字符串按照行分割为一个列表返回。

a = "123\n456"
print(a.splitlines())
# 输出 ['123','456']

17. len

获取字符串长度
语法:len(str) 返回字符串的长度

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

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

相关文章

8-什么是数组重塑?【视频版】

目录 问题视频解答 问题 视频解答 点击观看: 8-什么是数组重塑?

[mmcv系列] pip安装mmcv记录

文章目录 1.查看torch和cuda版本1.安装1.1从预编译包安装1.2 源码编译安装 2.校验报错:from mmcv import Config 可以直接 参考教程: 找到pip安装,选择自己的cuda和torch版本,复制指令到终端安装即可: 1.查看torch和c…

归并排序的具体实现过程

作者主页:paper jie的博客_CSDN博客-C语言,算法详解领域博主 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文录入于《算法详解》专栏,本专栏是针对于大学生,编程小白精心…

TCP三握四挥

TCP三握四挥 TCP最关键的三个步骤:建立连接、数据传输、释放连接,这里的三次握手实现的是服务端和客户端建立连接;四次挥手实现的是服务端和客户端释放连接。 三次握手: 建立数据连接 TCP连接需要三次握手的原因: 三次…

静力触探数据智能预处理(1)

静力触探数据智能预处理(1) 前言 数据处理方式已由手工1.0、计算机辅助2.0到人工智能3.0的趋势发展。现场采集的静力触探数据存在大量的异常数据,需要后期处理;但是目前还未见一个静力触探数据预处理的软件,数据预处…

BN、LN、IN、GN的自我理解

目录 一、Batch Normal 二、Layer Normal 三、Instance Normal 四、Group Normal 五、参考 参考了这两三篇博客,终于理解了这几个概念。 一、Batch Normal Batch Normal,举例来说:输入一个batch size,这个batch size中有2个…

2. Linux组件之数据库连接池

目录 一、数据库连接池1.1 池化技术1.2 数据库连接池及其作用1.3 不使用数据库连接池1.4 使用数据库连接池1.5 长连接和连接池1.6 数据库连接池运行机制1.7 连接池和线程池的关系 二、数据库连接池的设计2.1 mysql 连接池1. 构造函数2. 初始化3. 请求获取连接4. 归还连接5. 析构…

Linux训练营(文件和目录操作)

文章目录 前言一、ls命令二、cd命令三、mkdir命令四、cp命令五、rm命令总结 前言 本篇文章我们来讲解Linux中的文件和目录操作,在这里我们主要使用的是Linux中的命令来操作这些文件和目录,命令是Linux中最基础的部分。 一、ls命令 ls是一个常用的命令…

5-NumPy如何创建N维数组?【视频版】

目录 问题视频解答 问题 视频解答 点击观看: 5-如何创建等N维数组?

C++ 命名空间

假设这样一种情况,当一个班上有两个名叫 Zara 的学生时,为了明确区分它们,我们在使用名字之外,不得不使用一些额外的信息,比如他们的家庭住址,或者他们父母的名字等等。 同样的情况也出现在 C 应用程序中。…

DMAR IOMMU页表错误

DMAR: [DMA Write] Request device ......, 设备在进行 DMA 操作的时候,检查页表失败,在 IOMMU 的错误处理函数中会打印详细信息。 如下,出现 DMAR 错误,iova 0x9e4ef2373000 的 PTE 页表没有设置, 而实际…

③mybatis的动态sql

很多时候需要实现多条件查询&#xff0c;手动判断拼接sql有些麻烦 mybatis提供了一个动态sql实现多条件查询的方法 1.if标签 使用if元素可以根据条件来包含或排除某个SQL片段 <select id"search" resultType"Household">select id,idcard,name,cell…

蓝鲸社区:解决小伙伴们插眼关注的一个需求

背景 在蓝鲸社区“社区问答”帖子中发现这么一个需求&#xff1a; 究其原因&#xff0c;我在《不是CMDB筑高墙&#xff0c;运维需要一定的开发能力&#xff01;》一文中已经介绍&#xff0c;在此我再简单重复下&#xff1a; 蓝鲸5.1 自带“事件推送”功能&#xff0c;当配置…

pdf文档多页内插入统一图片

常用来添加公司logo、签名、印章等等 概括来说就是插入同一个图片&#xff0c;然后复制在每一页&#xff08;自动&#xff09; 用的是福昕pdf阅读器 首先打开pdf&#xff1a; 点击图像标注功能&#xff1a; 在弹出窗口中选择浏览&#xff0c;点击需要插入的图片&#xff08…

1.1.1 Qt信号槽之connect与disconnect介绍

关于Qt信号槽中connect与disconnect介绍 首先我们要知道&#xff0c;如果想要使用Qt中的信号槽机制&#xff0c; 那么必须继承QObject类&#xff0c;因为QObject类中包含了信号槽的一系列操作&#xff0c;今天我们来讲解的是信号与槽怎么建立连接以及断开连接。 一、connect …

用于语义图像分割的弱监督和半监督学习:弱监督期望最大化方法

这时一篇2015年的论文&#xff0c;但是他却是最早提出在语义分割中使用弱监督和半监督的方法&#xff0c;SAM的火爆证明了弱监督和半监督的学习方法也可以用在分割上。 这篇论文只有图像级标签或边界框标签作为弱/半监督学习的输入。使用期望最大化(EM)方法&#xff0c;用于弱…

rain-nowcasting-using-deep-learning github:使用深度学习进行临近降水预报

来源 github地址 是什么 本资料库旨在阐述 "在应用于降雨预报的深度学习模型中合并雷达雨量图像和风速预测 "&#xff08; “Merging radar rain images and wind predictions in a deep learning model applied to rain nowcasting”&#xff09;一文中提出的深度…

下拉表格多选sql批量插入以身份证号自动加载年龄性别生日

目录 一、layui下拉表格多选1、引入js2、html3、js代码①非动态数据②动态数据 4、运行效果 二、sql server批量插入三、根据身份证号动态填写出生日期年龄性别 一、layui下拉表格多选 1、引入js 2、html <div class"layui-input-inline"><input type&quo…

安装 Grafana 及 windows_exporter 配置 dubbo 配置 及报告示例

目录 安装部署 官网下载 配置中文 启动 访问 账户密码 界面效果 图表操作 新建添加仪表 添加 Prometheus 数据源 导入已有报告示例 下载 windows_exporter Grafana 的图表模板 node_exporter 中文版&#xff1a;windows_exporter for Prometheus Dashboard CN v2…

element框架select值更新页面不回显的问题,动态表单props绑定问题

1、页面中使用form表单&#xff0c;引入select组件 当data中默认没有定义form.region的值时&#xff0c;会出现选择select后input没有回显选择数据值&#xff1b;所以使用select时&#xff0c;必须定义默认值 <el-form ref"form" :model"form" label-…