洗礼灵魂,修炼python(9)--灵性的字符串

Python3读写本地文件方法 Python的文件读写 计算机文件读取原理:硬盘上的信息先读取到内存中,然后处理器处理内存中的程序或者信息展现在我们眼前。 生活例子:我准备开始手工,首先要从混乱的房间中把相关的工具找出来,放到桌子上,然后在桌子上操作。这里的房间相当于硬盘,桌子相当于内存。 持久化:把信息写入到硬盘中,断电也不会消失,信息是持久存在的。 读本地文本文件 本地:指你自己的电脑,本地资源指\C 、\D 盘上的资源。 ... 阅读详情

python几大核心之——字符串

1.什么是字符串

其实前面说到数据类型时说过了,就是带有引号的参数,“”引号内的一切东西就是字符串,字符串又叫文本。

2.创建字符串的两种方式:

3.字符串的方法:

 python2:

python3:

同样的,不同版本里字符串的方法还是很多不一样,老套路,我还是只解析常用的:capitalize,casefold.center,count,decode,encode,endswith,expandtabs,find,format,index,isalnum,isalpha,isdigit,isidentifier,islower,isspace,istitle,isupper,join,ljust,lower,lstrip,partition,replace,rfind,rindex,rjust,rpartition,rpslit,rstrip,split,splitines,startwith,strip', swapcase, title, translate, upper, zfill(是不是有点多,是的,因为字符串在实际的开发中最常用,所以方法用的也多)

captalize:把整个字符串的第一个单词的首字母大写并返回

但注意的是,字符串是不可变对象,所以不改变自身

 

casefold:把整个字符串的所有字符改为小写,python3里特有的

 

center(width):把字符串居中,并使用空格填充至长度 width 的新字符串

 

count(sub[, start[, end]]):返回 sub 在字符串里边出现的次数,start 和 end 参数表示范围,前面的集合等使用过,不再演示

decode(decode='strict'):把已知的编码方式解码为Unicode,前面解释过,在python3里不再有此方法

encode(encoding='utf-8', errors='strict'):以 encoding 指定的编码格式对字符串进行编码,前面解释过
在python3不需要decode再encode,直接使用encode:

endswith(sub[, start[, end]]):检查字符串是否以 sub 子字符串结束,如果是返回 True,否则返回 False。start 和 end 参数表示范围,可选

 startswith(prefix[, start[, end]]):检查字符串是否以 prefix 开头,是则返回 True,否则返回 False。start 和 end 参数可以指定范围检查,可选

expandtabs([tabsize=8]):把字符串中的 tab 符号(\t)转换为空格,如不指定参数,默认的空格数是 tabsize=8

这个没法看出效果,自己动手操作体会吧


find(sub[, start[, end]]):检测 sub 是否包含在字符串中,如果有则返回索引值,否则返回 -1,start 和 end 参数表示范围,可选

rfind(sub[, start[, end]]):类似于 find() 方法,不过是从右边开始查找

 

foramt:格式化字符串(详见下面第6点)


index(sub[, start[, end]]):跟 find 方法一样,不过如果 sub 不在 string 中会产生一个异常

rindex(sub[, start[, end]]):类似于 index() 方法,不过是从右边开始


isalnum():如果字符串至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False

前者因为含有逗号和空格,所以False


isalpha():如果字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False

前者含有空格


isdecimal():如果字符串只包含十进制数字则返回 True,否则返回 False,这是python3特有


isdigit():如果字符串只包含数字则返回 True,否则返回 False

isnumeric():如果字符串中只包含数字字符,则返回 True,否则返回 False,和上面的isdigit方法相同,不再演示


islower():如果字符串中至少包含一个区分大小写的字符,并且这些字符都是小写,则返回 True,否则返回 False

 


isspace():如果字符串中只包含空格,则返回 True,否则返回 False


istitle():如果字符串是标题化(所有的单词都是以大写开始,其余字母均小写),则返回 True,否则返回 False


isupper():如果字符串中至少包含一个区分大小写的字符,并且这些字符都是大写,则返回 True,否则返回 False


join(sub):以字符串作为分隔符,插入到 sub 中所有的字符之间


ljust(width):返回一个左对齐的字符串,并使用空格填充至长度为 width 的新字符串


lower():转换字符串中所有大写字符为小写。

 

 

partition(sub):找到子字符串 sub,把字符串分成一个 3 元组 (pre_sub, sub, fol_sub),如果字符串中不包含 sub 则返回 ('原字符串', '', '')

 

rpartition(sub):类似于 partition() 方法,不过是从右边开始查找


replace(old, new[, count]):把字符串中的 old 子字符串替换成 new 子字符串,如果 count 指定,则替换不超过 count 次

rjust(width):返回一个右对齐的字符串,并使用空格填充至长度为 width 的新字符串

 


split(sep=None, maxsplit=-1):不带参数默认是以空格为分隔符切片字符串,如果 maxsplit 参数有设置,则仅分隔 maxsplit 个子字符串,返回切片后的子字符串拼接的列表



splitlines(([keepends])):按照 '\n' 分隔,返回一个包含各行作为元素的列表,如果 keepends 参数指定,则返回前 keepends 行


strip([chars]):删除字符串前边和后边所有的空格,chars 参数可以定制删除的字符,可选

lstrip():去掉字符串左边的所有空格

 

rstrip():删除字符串末尾(右边)的空格。


swapcase():翻转字符串中的大小写


title():返回标题化(所有的单词都是以大写开始,其余字母均小写)的字符串


translate(table):根据 table 的规则(可以由 str.maketrans('a', 'b') 定制,maketrans方法是python特有,用的较少)转换字符串中的字符


upper():转换字符串中的所有小写字符为大写


zfill(width):返回长度为 width 的字符串,原字符串右对齐,前边用 0 填充

 

 

4.字符串也可以被看作一个不可变的列表

 怎么说?请看:

 

 

5.字符串也可以切片

 

6.字符串拼接到字符串格式化

字符串拼接就是把多个字符串对象用符号【+】拼接起来

 

但是不同类型的对象是不能拼接的,比如:

其实还有个问题,用+拼接是有点万恶的,为什么叫万恶,比如:

还是这个例子,有没有发现【yangI】是连在一起的,不过你可以这样:

手动在前面加个逗号,但是如果要处理很大的数据,这样是手动搞很麻烦的,开发程序还要耗时间来搞这种毫无技术含量有费时的问题是万恶的

所以,换一种方式,格式化,格式化字符串是最常用的,格式化在数据类型提到了一点点,说,只要【%】符号遇到字符串,这符号就不再是取余。具体的符号和对应的含义请看下面:

%c:格式化字符及其 ASCII 码
%s:格式化字符串
%d:格式化整数
%o:格式化无符号八进制数
%x:格式化无符号十六进制数
%X:格式化无符号十六进制数(大写)
%f:格式化浮点数字,可指定小数点后的精度
%e:用科学计数法格式化浮点数
%E:作用同 %e,用科学计数法格式化浮点数
%g:根据值的大小决定使用 %f 或 %e
%G:作用同 %g,根据值的大小决定使用 %f 或者 %E

 

实例:多种方式打印【I love python】

 

说到这,就得把字符串格式化相关的都摆出来:

格式化操作符辅助命令:

*      	定义宽度或者小数点精度
-      	用做左对齐
+      	在正数前面显示加号( + )
<sp> 	在正数前面显示空格
\#    	在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')
0      	显示的数字前面填充`0`而不是默认的空格
%     	'%%'输出一个单一的'%'
var)  	映射变量(字典参数)
m.n.  	m是显示的最小总宽度,n是小数点后的位数(如果可用的话)

 

通达信抓波段指标(主图) VAR3:=IF(INBLOCK('科创板'),VART20,IF(INBLOCK('创业板') AND DATE>1200823,VART20,IF(INBLOCK('ST板块'),VART5,VART10)));VAR5:=IF(INBLOCK('科创板'),CT20,IF(INBLOCK('创业板') AND DATE>1200823,CT20,IF(INBLOCK('ST板块'),CT5,CT10)));曾涨停/紫色细K线:青字"炸",涨停未封住。曾跌停/蓝色细K线:红字"撬",跌停被打开。 阅读详情

相关推荐

ESP32-CAM入门教程

ArduinoESP32-CAM下载模块(接上USB就能用,很方便,如果没有买就只有资金用USB-TTL了)如下图两个合在一起如下图。

qq_48778364的博客 3万+

Python中关于字符串操作的方法详解

python中字符串对象提供了很多方法来操作字符串,功能相当丰富。必须进行全面的了解与学习,后面的代码处理才能更得心应手,编程水平走向新台阶的坚实基础。目前一共有45个方法,给大家分类整理,可以收藏查询使用。 #获取字所有的符串方法 #获取字所有的符串方法 print(dir(str)) [...,'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'fo

码农-Vax天道的时间宝藏 1491

手把手教你用STM32F303和LAN9252搭建EtherCAT从站(附IO/AD/DA完整代码)

本文详细介绍了如何使用STM32F303和LAN9252搭建EtherCAT从站,涵盖硬件选型、开发环境配置、协议栈移植及IO/AD/DA功能实现。通过实战指南和完整代码,帮助开发者快速掌握工业自动化中的实时通信技术,提升系统性能与可靠性。

weixin_26802933的博客 235

Python字符串方法详解

字符串 是由0个或者多个字符组成的有序字符序列 由一对单引号、一对双引号、一对三单引号或三双引号表示,其中,三单引号和三双引号可表示多行字符串 1、Python字符串运算符 操作符及其使用 描述 x + y 连接字符串x和y x * n 重复n次输出字符串x [] 通过方括号 [] 索引获取字符串中字符 [m : n] 从字符串编号 m 截取到 n-1 部分...

best_of_times的博客 777

STM32按键中断切换红绿蓝灯

通过以上步骤,我们实现了使用STM32的按键中断来切换红绿蓝LED灯的功能。在实际应用中,可能还需要考虑更多的细节,如按键消抖、更精确的延时实现等。但上述代码提供了一个基本的框架和思路,可以根据具体需求进行扩展和优化。希望这篇博客对您有所帮助!

2301_79865940的博客 952

SQL注入绕过information_schema:实战技法与替代路径详解

SQL注入是Web安全领域的核心漏洞类型,其原理是通过构造恶意SQL语句,干扰应用程序与数据库的正常交互逻辑,从而窃取或篡改数据。在渗透测试与CTF竞赛中,绕过常见防护措施是提升技术能力的关键。当标准的信息收集方式受阻时,例如无法访问information_schema数据库,攻击者需要掌握替代的元数据获取方法。这些技术价值在于模拟真实环境中日益严密的防御体系,锻炼在受限条件下的系统性信息收集思维。典型的应用场景包括存在WAF过滤、权限限制或编码干扰的实战环境。本文将围绕SQL注入这一核心,深入探讨如何利用

weixin_33980459的博客 429

洗礼灵魂,修炼python(23)--自定义函数(4)—闭包进阶问题—>报错UnboundLocalError: local variable 'x' referenced before assign

闭包(lexical closure)什么是闭包前面已经说过了,但是由于遗留问题,所以单独作为一个章节详解讲解下不多说,看例子:def funx(x): def funy(y): return x*y #此时的funy函数对外层funx函数的变量调用,则称为闭包 return funy 结果:&gt;&gt;&gt; i=funx(4) &gt;&gt;&g...

app安全逆向、移动开发、tls/ja3、爬虫、反爬 2721

二维光子晶体禁带的遗传优化算法实现

二维光子晶体禁带的遗传优化算法MATLAB源代码 光子晶体中因周期性结构而存在的频率禁带称为光子禁带,光子禁带的存在是光子晶体具有广泛应用前景的重要原因。 禁带越大,可控光的频带也越宽,因此如何设计合适的晶体结构以获得大的光子禁带一直是研究和应用的重点与热点。 给大家讲解在平面波展开法的基础上,使用遗传算法寻找具有最大光子禁带的二维光子晶体结构。 %-------------------------------------------------------------------------- % Ph

m0_53407570的博客 583

洗礼灵魂,修炼python(10)--有趣的判断分支+从实例中掌握循环语句

所有的编程语言里都有判断语句和循环语句。判断语句则是用来分支程序流程的循环语句则是为了实现一个效果,让程序的规律性的重复操作不用说,分支和循环自然在python里也是有的一,条件判断:if,if……else1.在python里if可以单独出现,也可以和else配套出现,但是else不能单独出现这里则要提到一个在编程里一个共有的特性:悬挂else:即出现多余或者不和if匹配的else,就叫悬挂els...

app安全逆向、移动开发、tls/ja3、爬虫、反爬 795

【100%通过率】华为od机试C卷【出差 / 员工派遣】Java&Go 实现

某公司部门需要派遣员工去国外做项目。现在,代号为 x 的国家和代号为 y 的国家分别需要 cntx 名和 cnty 名员工部门每个员工有一个员工号 (1,2,3,......),工号连续,从 1开始。部长派遣员工的规则:

MISAYAONE的博客 2639

VS code 调试显示preLaunchTask“g++“已终止,退出代码为-1。 生成‘... .exe‘文件错误

总结: 以后每个工程都需要按照这样的流程:创建一个.c/.cpp文件 -> F5运行 -> 配置tasks.json文件-> launch.json文件 -> 运行

qq_45151652的博客 2513

洗礼灵魂,修炼python(14)--模块decimal, fractions,operator,collections以及精度介绍

decimal1.作用:用于浮点数计算。相比内置的二进制浮点数实现 float这个类型有助于 金融应用和其它需要精确十进制表达的场合,控制精度,控制舍入以适应法律或者规定要求,确保十进制数位精度,或者用户希望计算结果与手算相符的场合。Decimal 重现了手工的数学运算,这就确保了二进制浮点数无法精确保有的数据精度。 高精度使 Decimal 可以执行二进制浮点数无法进行的模运算和等值测试2.函数...

app安全逆向、移动开发、tls/ja3、爬虫、反爬 644

【芯片设计- RTL 数字逻辑设计入门 番外篇6 -- 术语 Tile 介绍】

在系统级芯片(System on Chip, SoC)设计中,“tile” 是一个可以指代不同概念的术语,但通常它指的是芯片上的一个独立的功能单元或核心。一个 tile 可以包含一个或多个处理器核心、缓存、内存控制器、输入输出设备、外设接口或其他功能模块。在 SoC 上,多个 tile 可以被组合和连接起来,以形成一个完整的系统。

CodingCos的博客 3067

洗礼灵魂,修炼python(1)--python简介

首先,本人也是刚接触python短短几个月,没有老鸟的经验和技能,大佬勿喷,以下所有皆是本人对python的理解 python,是一种解释型(高级)的,面向对象的,带有动态语义的高级程序设计的开源语言。1989年,Guido von Rossum(荷兰人)人称龟叔,他在圣诞节时因为无聊而开发出来的,详细的python发展史介绍可以百度或Google,已经很多了,不再赘述。 python是从20

app安全逆向、移动开发、tls/ja3、爬虫、反爬 592

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

洗礼灵魂,修炼python(7)--元组,集合,不可变集合

前面已经把列表的基本用法讲解完接着讲python的几大核心之——元组(tuple)1.什么是元组?类似列表,但为不可变对象,之前提到列表是可变对象,所谓可变对象就是支持原处修改,并且在修改前后对应的内存空间里的id依然不变,而不可变对象就是不支持原处修改,得重新赋值才行,但在重新赋值的时候,内存ID已经发生改变。元组的特征是什么呢?下面会解释!2.创建元组的两种方式:注意:元组的特征是()没错,但...

app安全逆向、移动开发、tls/ja3、爬虫、反爬 520

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

洗礼灵魂,修炼python(15)--列表进阶话题—>列表解析/列表生成器

是的,我是想到什么知识点就说什么,没有固定的主题,我的标题都是在写完博客再给的。本篇博文说说列表进阶话题。其实列表应该是比较熟悉的了,而毫不夸张的说,在实际的开发中,列表也是使用的最多的,以后你会体会到我说的这句话的。列表解析1.什么是列表解析:根据已有列表,高效生成新列表的方式,还有另一个叫法是叫列表推导式2.作用:列表解析是python迭代机制的一种应用,它常用于实现创建新的列表,因此要放置在...

app安全逆向、移动开发、tls/ja3、爬虫、反爬 512

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

洗礼灵魂,修炼python(35)--面向对象编程(5)—多重继承,组合

多重继承关于继承在上一篇博文已经说过了,怎么继承相信你也懂了。那么进入进阶话题,多重继承1.什么是多重继承继承的概念你清楚,那么多重继承就简单了。我的理解就是子类继承多个基类2.怎么多重继承定义多个基类,然后子类定义时继承多个基类,这就是多重继承。例1: 其实就和前面的一般继承是一样的对吧?就只是传入的基类由一个成了两个或多个而已 例2:定义一个儿子继承父母特征的子类class Human: ...

app安全逆向、移动开发、tls/ja3、爬虫、反爬 494

洗礼灵魂,修炼python(19)--文件I/O操作,linecache,fileinput模块

文件I/O操作1.什么是文件I/O操作首先I/O(input/output),即输入/输出端口,然后文件,大家应该都是是什么,一个数据,一个txt或者html文档就是一个文件。文件操作就是对文件进行读写删除等的操作。文件I/O操作,个人理解,就是与用户有交互式的文件操作,换句话就是读写操作文件也是一个可迭代对象2.有哪些操作:1):I/O操作:raw_input函数,input函数即可以进行I/O...

app安全逆向、移动开发、tls/ja3、爬虫、反爬 478

洗礼灵魂,修炼python(40)--面向对象编程(10)—定制魔法方法+time模块

定制魔法方法1.什么是定制魔法方法首先定制是什么意思呢?其实就是自定义了,根据我们想要的要求来自定义。而在python中,其实那些所谓的内置函数,内置方法,内置属性之类的其实也是自定义出来的,不过是龟数开发python时已经给出了,已经自带了基本能想到的功能都带有了,换句话就是已经给我们事先定义好了,要用的话,直接拿来就用就是,不需要我们自己再去定义。定制魔法方法就是自定义魔法方法了。但是必须遵循...

app安全逆向、移动开发、tls/ja3、爬虫、反爬 460

洗礼灵魂,修炼python(3)--从一个简单的print代码揭露编码问题,运行原理和语法习惯

前期工作已经准备好后,可以打开IDE编辑器了,你可以选择python自带的IDLE,也可以选择第三方的,这里我使用pycharm——一个专门为python而生的IDE按照惯例,第一个python代码打印一个所有开发语言里入门必学“hello,world”?no,你错了,我偏不 第一行是编码,utf-8这是国际使用标准,如果我不加的话,很容易出错第二行print(打印的意思)语句,是python的关...

app安全逆向、移动开发、tls/ja3、爬虫、反爬 449

洗礼灵魂,修炼python(18)--温故加知新

类型转换:1.str(),repr(),format():将非字符串数据转换为字符串str():对象序列化的结果,相当于print输出repr():程序中某个对象精确值format():利用特定格式转换为字符串,format函数用法见后面2.int():转为整数形int函数也可以使用进制:(这个在前面已经提到过的)  Int转换类型并给定进制的方法,并不是都可行: 3.complex():转换为复...

app安全逆向、移动开发、tls/ja3、爬虫、反爬 447

洗礼灵魂,修炼python(21)--自定义函数(2)—函数文档,doctest模块,形参,实参,默认参数,关键字参数,收集参数,位置参数

函数文档1.什么是函数文档:就是放在函数体之前的一段说明,其本身是一段字符串,一个完整的函数需要带有函数文档,这样利于他人阅读,方便理解此函数的作用,能做什么运算2.怎么查看函数文档:function.__doc__   注意:不加小括号3.例:你可能会想,假如我不传入参数能直接打印函数文档吗?测试一下就知道:结果是可以的接着想,前面说不能带小括号,我确认一下是不是真的不能带小括号呢:果然是不行的...

app安全逆向、移动开发、tls/ja3、爬虫、反爬 434

洗礼灵魂,修炼python(8)--高效的字典

python几大核心之——字典(dict)1.什么是字典学生时代都用过字典吧?通过这个字的读音或者偏旁就能用字典查到其相关信息,词性,意思,组词,造句,还有在什么场合下用这个字等等的。在python中的这个字典,其实原理是一样的,当然,python里的这个字典肯定不是用来查字的,是用来查我们需要的数据的,不过,如果你真要用python字典来查哪个字也是可以的,通过python的网络爬虫来查字就行,...

app安全逆向、移动开发、tls/ja3、爬虫、反爬 410

洗礼灵魂,修炼python(5)--python操作符,内置函数

 前面提到了BIF(内置函数)这个概念,什么是内置函数,就是python已经定义好的函数,不需要人为再自己定义,直接拿来就可以用的函数,那么都有哪些BIF呢?可以在交互式界面(IDLE)输入这段代码,注意是两边都是双下划线dir(__builtins__)  则可以查看不同python版本都有哪些BIF就看这些就能很明显的看出python3和python2还是有很多区别的,想看哪个BIF的用法就直...

app安全逆向、移动开发、tls/ja3、爬虫、反爬 402
上一篇: 洗礼灵魂,修炼python(8)--高效的字典
下一篇: 洗礼灵魂,修炼python(10)--有趣的判断分支+从实例中掌握循环语句
geekbyte.
博客等级 码龄11年 308粉丝 75原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值