[Python]字符串常用操作与方法

news2024/11/26 11:43:28

前言

系列文章目录
[Python]目录


文章目录

  • 前言
  • 1. 字符串的常用操作
    • 1.1 格式化输出
      • 1.1.1 %
        • 1.1.1.1 语法
        • 1.1.1.2 字符串格式操作符(%)的格式化符号
        • %c:以字符的形式格式化输出整数或长度为1的字符串
        • %r:将数据格式化为供解释器读取的形式
        • %s:将数据格式化为适于人阅读的形式
        • %d %i:格式化为有符号十进制整数
        • %u:格式化为无符号十进制整数
        • %o:格式化为无符号八进制整数
        • %x %X:格式化为无符号十六进制整数
        • %e %E:格式化为科学计数法的形式输出数值
        • %f %F:格式化为浮点数
        • %g %G:%e和%f 或 %E和%F的简短写法
        • %%:输出%
        • 1.1.1.3 字符串格式化操作符指令
        • *:指定宽度
        • -:使用左对齐
        • +:为正数使用加号
        • #:根据是否使用 x 或 X,添加八进制前导零(0)或十六进制前导 0x 或 0X
        • m.n:m 是最小总宽度,n 是小数点后面要显示的数字的位数(如果合适)
        • 0:当格式化数字时使用零(而不是空格)填充
        • `<sp>`:为正数使用空格填充
        • (var):映射变量(字典参数)
      • 1.1.2 {}
      • 1.1.3 .format()
    • 1.2 索引
    • 1.2 切片
    • 1.3 拼接
    • 1.4 判断是否包含某个元素
    • 1.6 操作字符串的方法
  • 2. 内置方法


1. 字符串的常用操作

1.1 格式化输出

1.1.1 %

1.1.1.1 语法

# 格式化输出一个数据
'格式化符号' % 需要格式化输出的数据

# 格式化输出多个数据
'格式化符号1 格式化符号2 ...' % (数据1, 数据2, ...)

1.1.1.2 字符串格式操作符(%)的格式化符号

在这里插入图片描述

%c:以字符的形式格式化输出整数或长度为1的字符串

print('整数65以字符的形式格式化输出:%c' % 65)
# 注意:使用%c只能格式化输出长度为1的字符串
print("长度为1的字符串'a'以字符的形式格式化输出:%c" % 'a')
# 在一个字符串中格式化输出多个
print('第一个:%c 第二个:%c' % (65, 'a'))
# 使用%c格式化输出二进制数 八进制数 十六进制数对应的ASCII字符
print('二进制:%c  八进制:%c  十六进制:%c' % (0b111111, 0o111, 0x111) )

在这里插入图片描述

%r:将数据格式化为供解释器读取的形式

num = 11
str_ = 'abc'
dic = {
    'name': 'zs',
    'age': 12
}
l = [1, 'a']
t = (1, 2, 'b')
s = {1, 2, 'c'}
print('num: %r' % num)
print('str_: %r' % str_)
print('dic: %r' % dic)
print('l: %r' % l)
# 元组不能使用该格式化输出
# not all arguments converted during string formatting
# 并非所有参数都在字符串格式化期间转换
# 元组内的数据不可修改
# print('t: %r' % t)
print('s: %r' % s)

# 使用%r格式化输出十进制以外的数会先转化为十进制再采用字符串格式化输出
print('二进制:%r' % 0b011, type('二进制:%r' % 0b011))
print('八进制:%r' % 0o011, type('二进制:%r' % 0o011))
print('十六进制:%r' % 0x011, type('二进制:%r' % 0x011))

在这里插入图片描述

%s:将数据格式化为适于人阅读的形式

num = 11
str_ = 'abc'
dic = {
    'name': 'zs',
    'age': 12
}
l = [1, 'a']
t = (1, 2, 'b')
s = {1, 2, 'c'}
print('num: %s' % num)
print('str_: %s' % str_)
print('dic: %s' % dic)
print('l: %s' % l)
# 元组不能使用该格式化输出
# not all arguments converted during string formatting
# 并非所有参数都在字符串格式化期间转换
# 元组内的数据不可修改
# print('t: %s' % t)
print('s: %s' % s)

# 使用%s格式化输出十进制以外的数会先转化为十进制再采用字符串格式化输出
print('二进制:%s' % 0b011, type('二进制:%s' % 0b011))
print('八进制:%s' % 0o011, type('二进制:%s' % 0o011))
print('十六进制:%s' % 0x011, type('二进制:%s' % 0x011))

在这里插入图片描述

%d %i:格式化为有符号十进制整数

print('%d %i' % (-100, -100))
print('%d %i' % (100, 100))
# 对浮点数进行格式化输出,只会输出整数部分
print('%d %i' % (10.1, 10.1))
print('%d %i' % (10.5, 10.5))
# 不能使用%d %i格式化输出字符
# print('%d %i' % ('a','a'))

# 使用%d %i格式化输出十进制以外的数会自动转化为十进制再格式化输出
print('二进制:%d %i' % (0b011, 0b011))
print('八进制:%d %i' % (0o011, 0o011))
print('十六进制:%d %i' % (0x011, 0x011))

在这里插入图片描述

%u:格式化为无符号十进制整数

print('%u' % 123)
# 对浮点数进行格式化输出,只会输出整数部分
print('%u' % 123.12)
# 使用%u对负数进行格式化输出,会将负数格式化为有符号的字符串
print('%u' % -123, type('%u' % -123))
# 不能使用%u格式化输出字符
# print('%u' % 'a')

# 使用%d %i格式化输出十进制以外的数会自动转化为十进制再格式化输出
print('二进制:%u' % 0b011)
print('八进制:%u' % 0o011)
print('十六进制:%u' % 0x011)

在这里插入图片描述

%o:格式化为无符号八进制整数

print('%o' % 10)
print('%o' % 0b011)
print('%o' % 0x10)
# %o format: an integer is required, not float
# %o 只能将整数以八进制数的形式格式化输出
# print('%o' % 10.8)
# 对于负数 %o 返回的为一个有符号的字符串
print('%o' % -10)

在这里插入图片描述

%x %X:格式化为无符号十六进制整数

print('%x %X' % (10, 10))
print('%x %X' % (0b011, 0b011))
print('%x %X' % (0o10, 0o10))
# %x format: an integer is required, not float
# %x 只能将整数以十六进制数的形式格式化输出
# print('%x %X' % (10.8, 10.8))
# 对于负数 %x 返回的为一个有符号的字符串
print('%x %X' % (-10, -10))

在这里插入图片描述

%e %E:格式化为科学计数法的形式输出数值

print('%e %E' % (10, 10))
print('%e %E' % (-10, -10))
print('%e %E' % (10.8, 10.8))
print('%e %E' % (0b011, 0b011))
print('%e %E' % (0o10, 0o10))
print('%e %E' % (0x10, 0x10))

在这里插入图片描述

%f %F:格式化为浮点数

print('%f %F' % (10, 10))
print('%f %F' % (-10, -10))
print('%f %F' % (10.8, 10.8))
print('%f %F' % (0b011, 0b011))
print('%f %F' % (0o10, 0o10))
print('%f %F' % (0x10, 0x10))

在这里插入图片描述

%g %G:%e和%f 或 %E和%F的简短写法

print('%g %G' % (10, 10))
print('%g %G' % (-10, -10))
print('%g %G' % (10.8, 10.8))
print('%g %G' % (0b011, 0b011))
print('%g %G' % (0o10, 0o10))
print('%g %G' % (0x10, 0x10))
# %g %G 只有当数大于1000000时才使用科学计数法
print('%g %G ' % (999999, 1000000))

在这里插入图片描述

%%:输出%

# 一个 % 会被认为是字符串格式操作符
# 两个 % 输出%
print('%d%%' % 99)

在这里插入图片描述

1.1.1.3 字符串格式化操作符指令

在这里插入图片描述

*:指定宽度

# 进行格式化的数据长度小于指定的长度则使用空格在格式化数据的左侧填充使其达到指定的长度
# 如果格式化的数据长度大于指定的长度则不进行填充
# 可以用于实现打印的右对齐
print('%15c |' % 65)
print('%15r |' % 'abc')
print('%15s |' % 'abc')
print('%15d | %i' % (100, 100))
print('%15u |' % 100)
print('%15o |' % 100)
print('%15x | %X' % (100, 100))
print('%15e | %E' % (100, 100))
print('%15f | %F' % (100, 100))
print('%15g | %G' % (100, 100))

在这里插入图片描述

-:使用左对齐

# 进行格式化的数据长度小于指定的长度则使用空格在格式化数据的右侧填充使其左对齐
# 如果格式化的数据长度大于指定的长度则不进行填充
print('%-15c |' % 65)
print('%-15r |' % 'abc')
print('%-15s |' % 'abc')
print('%-15d | %i' % (100, 100))
print('%-15u |' % 100)
print('%-15o |' % 100)
print('%-15x | %X' % (100, 100))
print('%-15e | %E' % (100, 100))
print('%-15f | %F' % (100, 100))
print('%-15g | %G' % (100, 100))

在这里插入图片描述

+:为正数使用加号

# 左对齐 长度为15 且正数前显示+
print('%+-15d | %i' % (100, 100))
print('%+-15u |' % 100)
print('%+-15o |' % 100)
print('%+-15x | %X' % (100, 100))
print('%+-15e | %E' % (100, 100))
print('%+-15f | %F' % (100, 100))
print('%+-15g | %G' % (100, 100))

在这里插入图片描述

#:根据是否使用 x 或 X,添加八进制前导零(0)或十六进制前导 0x 或 0X

# 左对齐 长度为15 且正数前显示+ 八进制和十六进制前显示0x 0o
print('%+#-15u |' % 100)
print('%+#-15o |' % 100)
print('%+#-15x | %X' % (100, 100))

在这里插入图片描述

m.n:m 是最小总宽度,n 是小数点后面要显示的数字的位数(如果合适)

# 对于位数不足默认使用空格在左边填充即右对齐
# 如果数的位数大于m,不进行填充,只有小于m才进行填充
print('%10.2d %10.2i' % (12, -12))
# 会自动四舍五入保留相应的位数
print('%10.2f %10.2F' % (12.345, -12.345))
# 会自动四舍五入保留相应的位数
print('%10.2e %10.2E' % (12.3456, -12.3556))

在这里插入图片描述

0:当格式化数字时使用零(而不是空格)填充

# 对于位数不足使用 0 在左边填充 默认右对齐
# 只能在数的左边使用0进行填充,不支持使用0实现左对齐(在数的右边补0)
# 数的最小总宽度为10,其中小数位2位
print('%010.2d %10.2i' % (12, -12))
# 会自动四舍五入保留相应的位数
print('%010.2f %10.2F' % (12.345, -12.345))
# 会自动四舍五入保留相应的位数
print('%010.2e %10.2E' % (12.3456, -12.3556))

在这里插入图片描述

<sp>:为正数使用空格填充

(var):映射变量(字典参数)

1.1.2 {}

1.1.3 .format()

1.2 索引

1.2 切片

1.3 拼接

1.4 判断是否包含某个元素

1.6 操作字符串的方法

2. 内置方法

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

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

相关文章

一文带你精通Git

一文带你精通git回顾git对象树对象提交对象重新认识git 基本命令git 高层命令分支&#xff08;特别重要&#xff09;分支冲突&分支合并git 存储git 后悔药远程分支和团队协作远程仓库冲突回顾 博主之前直接已经写过了git的相关基础博客了,老铁可以自行去查看。本篇文章的目…

【分割链表】

目录&#xff1a;前言一、题目描述二、算法思想&#xff08;一&#xff09;值交换1、题目解析2、代码实现&#xff08;二&#xff09;重构链表1、题目解析2、代码实现总结前言 大家好&#xff0c;今天我们来了解一下leetcode中比较简单的单链表问题。 一、题目描述 题目描述如…

MySQL事务隔离级别

MySQL的四种隔离级别 读未提交读提交可重复读串行化 隔离级别可以通过MySQL的视图来实现。 读未提交 读未提交是一个事务仅修改了数据但还未提交时&#xff0c;本次修改可以便可被其他事务查询到变更后的值。读未提交隔离级别下&#xff0c;其他事务进行查询时&#xff0c;直…

新手小白学JAVA 日期类Date SimpleDateFormat Calendar

Date日期类 类 Date 表示一个特定的瞬间&#xff0c;精确到毫秒 1.1 Date的构造函数 Date() 分配一个 Date 对象&#xff0c;以表示分配它的时间&#xff08;精确到毫秒&#xff09; Date(long date) 分配一个 Date 对象&#xff0c;表示自从标准基准时间起指定时间的毫秒数 标…

【Java实验五】继承与多态

一、实验一 对于父类的含参构造方法&#xff0c;子类必须通过super调用&#xff0c;重写父类的构造方法 设计一个应用程序要求&#xff1a; 设计一个表示二维平面上点的类Point&#xff0c;包含有表示坐标位置的protected类型的成员变量x和y&#xff0c;获取和设置x和y值的publ…

SpringBoot项目的创建(三):手动创建一个Maven工程,然后引入SpringBoot所需的dependency来完成 (不需联网,但复杂)

SpringBoot项目的创建1.配置Maven环境。2.创建一个新的maven项目3.创建出来的目录结构4 继承springboot父项目5.添加Spring Boot Maven插件6.添加spring和web模块的依赖7.创建入口类8.添加代码测试1.配置Maven环境。 在以maven方式创建Spring Boot项目之前&#xff0c;需要先确…

交换网络基础

交换网络基础网络基础交换机的转发行为数据帧分类交换机MAC地址表ping包来回过程VLAN概念&#xff1a;VLAN接口类型ICMP返回值网络基础 路由器&#xff1a;基于3层路由表转发交换机&#xff1a;基于2层MAC地址表转发&#xff0c;数据帧转发 交换机的转发行为 泛洪&#xff1…

Buffer Pool Size of Total RAM No data

1.问题描述 1)问题现象 通过prometheus监控mysql实例和服务器&#xff0c;使用grafana做可视化展示&#xff0c;grafana 中添加 7362 号dashboard 作为mysql看板&#xff0c;添加 11074 号dashboard 作为主机看板。但是添加后查看 MySQL Overview 看板发现 Buffer Pool Size …

Python制作GUI学生管理系统毕设,大学生总会用得到

有很多可爱的大学生跟我吐槽&#xff1a; 咋这个大学跟我想象的不一样呢&#xff1f; 老师叫我们自己做… 还是那句话&#xff0c;技术才是硬道理 源码、资料电子书文末名片获取 有个经典案例就是 学生管理系统 写完了放在那也是放着&#xff0c;所以今天分享给大家吧&…

2022第四届长安杯复盘

容器加挂密码&#xff1a;2022.4th.changancup! 案件背景&#xff1a; 某地警方接到受害人报案称其在某虚拟币交易网站遭遇诈骗&#xff0c;该网站号称使用”USTD币“购买所谓的"HT币”&#xff0c;受害人充值后不但 “HT币”无法提现、交易&#xff0c;而且手机还被恶意…

PID算法

目录 一、PID算法 二、模拟PID 模拟PID调节器的控制规律为 模拟PID调节器的传递函数为 三、数字PID P控制 PI控制 PD控制 PID控制 数字PID增量型控制算式 PID位置型控制算式 一、PID算法 PID控制是最早发展的自动控制策略之一&#xff0c;是微机化控…

C++ opencv图像存储和MAT容器

1.图像在内存之中的存储方式: 图像矩阵的大小取决于所用的颜色模型&#xff0c;确切说&#xff0c;取决于所用通道数。如果是灰度图像&#xff0c;矩阵就会如图5.1所示。 对于多通道图像来说&#xff0c;矩阵中的列会包含多个子列&#xff0c;其子列个数与通道数相同&#xf…

【运筹优化】结合天际线启发式的蚁群算法求解二维矩形装箱问题 + Java代码实现

文章目录一、天际线启发式二、蚁群算法结合天际线启发式2.1 构建序列2.1.1 思路一2.1.2 思路二2.1.3 思路N三、Java代码实现3.1 项目结构3.2 Ant3.3 ACO3.4 Run3.5 运行结果展示3.5.1 思路一3.5.2 思路二3.5.3 思路N四、小结一、天际线启发式 关于天际线启发式的介绍请看我的另…

推荐算法---矩阵分解

矩阵分解报告 1. 试验介绍 矩阵分解就是把原来的大矩阵&#xff0c;近似的分解成小矩阵的乘积&#xff0c;在实际推荐计算时不再使用大矩阵&#xff0c;而是使用分解得到的两个小矩阵。具体来说就是&#xff0c;假设用户物品的评分矩阵R是m乘n维&#xff0c;即一共有m个用户&…

Redis资料整理

Redis--->是非关系型数据库(也称缓存数据库),是一种NoSQL数据库 存放5种数据类型 String key-value形式 另外list,set,zset,hash 另外两种不常用的:bitmap(位图类型),geo(地理位置类型),另外Redis5.0新增 stream类型 相对来说Redis适合存放少数据量的数据,如果需要存放…

BERT知识蒸馏TinyBERT

1. 概述 诸如BERT等预训练模型的提出显著的提升了自然语言处理任务的效果&#xff0c;但是随着模型的越来越复杂&#xff0c;同样带来了很多的问题&#xff0c;如参数过多&#xff0c;模型过大&#xff0c;推理事件过长&#xff0c;计算资源需求大等。近年来&#xff0c;通过模…

PX4基本配置

目录 下载固件 下载原生稳定版固件 安装PX4 Master, Beta或自定义固件 FMUv2 Bootloader 更新 机架设置 飞行控制器/传感器方向 计算朝向 设置朝向 罗盘校准 执行校准 陀螺仪校准 # 执行校准 加速度计 执行校准 空速计校准 执行校准 水平平面校准 执行校准 …

Spring Cloud Zookeeper 升级为Spring Cloud Kubernetes

这里是weihubeats,觉得文章不错可以关注公众号小奏技术&#xff0c;文章首发。拒绝营销号&#xff0c;拒绝标题党 背景 现有的微服务是使用的Spring Cloud Zookeeper这一套&#xff0c;实际应用在Kubernetes中部署并不需要额外的注册中心&#xff0c;本身Kubernetes自己就支持…

10道不得不会的 Java容器 面试题

博主介绍&#xff1a; &#x1f680;自媒体 JavaPub 独立维护人&#xff0c;全网粉丝15w&#xff0c;csdn博客专家、java领域优质创作者&#xff0c;51ctoTOP10博主&#xff0c;知乎/掘金/华为云/阿里云/InfoQ等平台优质作者、专注于 Java、Go 技术领域和副业。&#x1f680; 最…

FFmpeg内存IO模式

ffmpeg 支持从网络流 或者本地文件读取数据&#xff0c;然后拿去丢给解码器解码&#xff0c;但是有一种特殊情况&#xff0c;就是数据不是从网络来的&#xff0c;也不在本地文件里面&#xff0c;而是在某块内存里面的。 这时候 av_read_frame() 函数怎样才能从内存把 AVPacket…