python中字符串的内建函数之expandtabs的用法

news2024/10/6 20:28:45

一、str.expandtabs()

进入这个函数之前,我们来看看:

str_1 = 'abc\tdef'
print(str_1)  # abc	def

str_2 = '\t'
print(len(str_2))  # 1

根据打印结果来看,abc距离def一个字符的间距。在字符串中\t的长度为1(tab键也就是\t,通常说的是4个字符长度,我们写分支结构时,也常用tab键进行4个字符长度的缩进)

str.expandtabs()这个函数的目的是把字符串中的tab符号\t转为空格,具体转为几个空格,由参数tabsize决定。

误区:并不是参数tabsize是多少空格数为多少,两者不等。参数是多少说明有多少个字符为一组:若参数tabsize = 6,那么字符串将以长度为6的字符为一组;若参数tabsize没有写,则默认tabsize = 8,那么字符串将以长度为8的字符为一组。以不同的字符长度将字符串分为若干组。

语法:str.expandtabs(tabsize)

若参数tabsize没有写,则默认tabsize = 8,那么\t转为的空格数 = 8 - \t前字符串的长度

接下来,我们看看案例:
str = "runoob\t12345\tabc"
print(str.expandtabs())  
# runoob  12345   abc

说明:
这里参数没有赋值默认为8,参数tabsize=8 > \t前字符串的长度=6。那么\t转为的空格数 = 8 - \t前字符串的长度。

runnob 有 6 个字符,后面的 \t 填充 2 个空格
12345 有 5 个字符,后面的 \t 填充 3 个空格

案例:
str = "runoob\t12345\tabc"
print(str.expandtabs(2))  # runoob  12345 abc

print(str.expandtabs(3))  # runoob   12345 abc

print(str.expandtabs(4))  # runoob  12345   abc

print(str.expandtabs(5))  # runoob    12345     abc

print(str.expandtabs(6))  # runoob      12345 abc

说明:参数tabsize依次等于2,3,4,5,6,字符串将分别以2、3、4、5、6的字符长度分为一组。


tabsize=2,runoob字符长度为6可分为3组,ru、no、ob各为一组,第一个\t为一组那么代表连哥哥空格,1234分为两组,5和一个空格组队。

tabsize=4,runo为一组,ob加上两个空格为一组,故第一个\t为两个空格;1234为一组,5只能和三个空格为一组,故第二个\t为三个空格

tabsize=6,runnoob分为一组,由于runoob没有剩余字母分给第一个\t,故单独为一组
代表6个空格,12345还少一个长度即可组队,故这时第二个\t代表一个空格。


在这里插入图片描述

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

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

相关文章

07-1_Qt 5.9 C++开发指南_文件系统及文件读写_文本文件读写(使用 QTextStream 进行文件读写更为方便)

文章目录 1. 实例功能概述2. QFile 读写文本文件3. QFile 和QTextStream 结合读写文本文件4. 解决中文乱码的问题5. 框架及源码5.1 可视化UI设计5.2 mainwindow.h5.3 mainwindow.cpp5.4 main.cpp 1. 实例功能概述 文本文件是指以纯文本格式存储的文件,例如用 Qt Cr…

个人网站使用又拍云实现CDN加速

前言:前几篇文章完成了将个人博客部署到阿里云服务器上并实现了https加密访问,但是由于图片以及js文件较大,访问速度较慢并且不太稳定,就想着使用CDN加速一下网站访问速度,于是就有了这篇文章。 前置条件: …

类和对象的学习

类和对象说明 类的属性和方法 类的入门案例 //类名 public class school {//属性String name; //名称int jsNumber; //教室数目int jfNumber;//机房数目//方法public void show(){System.out.println("名称: " name "教室数目" jsNumber " , 机房数…

双端列表 —— Deque 接口概述,使用ArrayDeque实现队列和双端队列数据结构

Deque接口简介 Deque译为双端队列,在双向都能作为队列来使用,同时可用作栈。Deque接口的方法是对称成比例的。 Deque接口继承Queue接口,因此具有Queue,Collection,Iterable的方法属性。 双端队列的工作原理 在常规队…

什么是 Redis ? Redis缓存应用场景有哪些?

面试官问题 redis击穿、穿透有什么区别? 如何设计用例及测试 Redis 的基本概念 在没有添加 Redis 的时候,后端的查询流程是: 用户访问页面。 请求后端服务。 经过逻辑处理后,去数据库查询信息。 在添加 Redis 的之后&#xf…

CTF之Web安全SSI注入

前言 如何从外部进入主机? SSI注入攻击介绍 SSI(server side inject)的出现是为了赋予HTML静态页面动态的效果,通过SSI来执行系统命令;并返回对应的结果。 如果再网站目录中发现了.stm;.shtm;.shtml;这…

五粮液快闪酒吧亮相大运会,在传承中彰显创新精神

摇风、糖塑、弄窑、趣闻、琉璃、沉香、绣彩、刻花......一座以“中国风,巴蜀韵”为主题的快闪酒吧,是五粮液献给中外来宾的“和美之礼”,一项项身临其境的传统文化体验让全球友人仿佛“梦回大唐盛世,再现繁华风尚”。 &#xff0…

harbor仓库安装部署(1.6.1)

目录 1、关闭防火墙 2、安装docker-ce(所有主机) 3、配置阿里云镜像加速器 4、部署Docker Compose 服务 5、部署 Harbor 服务 6、下载 Harbor 安装程序(两台harbor主机) 7、配置 Harbor 参数文件 8、启动并安装 Harbor …

【CSS3】CSS3 动画 ⑤ ( 动画速度曲线 | 设置动画步长 | 动画匀速执行 | 动画分 2 步执行 | 使用动画步长实现打字机效果 )

文章目录 一、动画速度曲线设置二、代码示例 - 动画速度曲线设置1、代码示例 - 动画匀速执行2、代码示例 - 动画分 2 步执行 三、代码示例 - 使用动画步长实现打字机效果 一、动画速度曲线设置 CSS3 样式中 , 设置 动画速度曲线 的属性是 animation-timing-function 属性 ; an…

Kubernetes集群yum安装部署

第四阶段 时 间:2023年8月10日 参加人:全班人员 内 容: Kubernetes集群yum安装部署 目录 yum方式部署K8S集群 一、环境搭建 1、准备环境 2、关闭防火墙 3、修改master主机的计算机名设置host文件 二、安装部署 (一&…

OpenCV实验箱---机械臂自由抓取例程开发使用手册

目录 一、项目介绍 项目背景: 相机型号: 二、机械臂自由抓取演示 使用注意事项: 操作步骤: 三、核心代码讲解 ① 机械臂相关运动驱动代码 ② BGR图像转换伪彩色深度图像代码 ③ 目标跟随及抓取动作代码 开发者:…

CLIP论文精度

CLIP论文精度 Zero-shot CLIP多模态模型 Image Endecoder是一个图片编码器,既可以是ResNet,也可以是Vision Transformer. Text Encoder和Image Encoder产生的两组特征进行对比学习(无监督训练) 分类头?“分类头” 是指网络结…

第02天 什么是JWT ?

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: 每天一个知识点 ✨特色专栏&#xff1…

MChat-Gpt V1.0.0 (将ChatGpt机器人接入内网供全体使用)

Github>https://github.com/MartinxMax/MChat-Gpt 首页 MChat-Gpt V1.0.0将ChatGpt机器人接入内网供全体使用 你需要一个ChatGpt账户如果您在中国则需要使用代理访问,设置TUN代理模式 安装依赖 选择你的系统进行安装 服务端配置 #python3 ChatGpt_Server.py -h 使用&a…

cve-2021-2394 weblogic反序列化漏洞分析

前几天weblogic 7月例行更新中,修复了一个Rce漏洞。该漏洞性质属于绕过之前的反序列化漏洞补丁。要了解这个漏洞的原因,我们首先要学习其他几个漏洞的原理。 一 weblogic 反序列化绕过指南 本章节只是大概讲解一下如何绕过weblogic反序列化漏洞的补丁。…

【金融量化】Python实现根据收益率计算累计收益率并可视化

1 理论 理财产品(本金100元) 第1天:3% :(13%) ✖ 100 103 第2天:2% :(12%)✖ 以上 103 2.06 第3天:5% : (15%)✖ 以上…

【指针模拟实现库函数strlen】

指针模拟实现库函数strlen 1.库函数strlen含义 strlen是用来计算字符串长度的。(不包含’\0’) 2.assert断言介绍 assert.h 头⽂件定义了宏 assert() ,⽤于在运⾏时确保程序符合指定条件,如果不符合,就报 错终⽌运⾏。这个宏常常…

【算法|数组】滑动窗口

算法|数组——滑动窗口 引入 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl1, ..., numsr-1, numsr] ,并返回其长度**。**如果不存在符合条件的子数组,返回 0 。 示例…

putty使用记录

在官网下载并安装putty 一、SSH 二、FTP open 192.168.1.118 put -r C:\Users\Administrator\Desktop\test /opt/lanren312/test # 上传(文件夹) get -r /opt/lanren312/test C:\Users\Administrator\Desktop\test2 # 下载(文件夹&#xff…

Linux Sudo 史上最大bug

自从安全厂商于近期公开了Linux系统中存在Sudo漏洞后,红帽、SUSE、Debian及Ubuntu等相关发行版本便开始相继推出了针对Linux Sudo漏洞的更新补丁,来避免由于Sudo漏洞而将本地端系统的最高权限陷于风险之中。 Sudo是linux系统管理指令,是允许系…