python基础之序列类型的方法——字符串方法
python基础之序列类型的方法——字符串方法
Hello大家好,我是python学习者小杨同学,经过一段时间的沉淀(其实是偷懒不想更新),我终于想起了自己的博客账号,所以这次带来的是序列方法的后半部分:字符串的方法。
接上述的列表和元组的方法,我们这次来讲讲字符串的方法,现在我们一起开始学习吧。
注:字符串是不可变类型,改、删的操作将会改变原有字符串,说人话就是改了以后它就不是原来的那个它了(滑稽)。
查
index()方法
与列表相同,index查询指定元素的下标值,如果没有该元素,则抛出错误,如果该字符串里有多个重复的数值,只返回从左开始的第一个:
a = 'hello world'
print(a.index('h'))
结果:0
# 也可以对连写元素
print(a.index('he'))
结果:0
# 如果重复,返回从左开始的第一个
print(a.index('l'))
结果:2
# 如果没有则抛出错误
print(a. index('z'))
ValueError: substring not found
count()方法
count方法可以计算指定元素在字符串中出现的个数:
a = "hello world"
print(a.count('l'))
结果:3
# 也可以像index()方法那样连写,如he
print(a.count('he'))
结果:1
find()方法
也是查询指定元素,也会返回指定下标。与index不同的是,如果该元素没有,则返回-1,故查询字符串的时候更推荐使用find方法,减少出错的可能:
a = 'hello world'
print(a.find('z'))
结果:-1
判断方法
字符串中还有四个用于判断的方法,分别是判断是否全是数字的isdigit()、判断是否全是字母的isalpha()、判断是否都是小写的islower()、以及判断是否都是大写的isupper(),这些方法返回的结果是True或者False,大家有兴趣可以尝试:
a = 'hello world'
# isdigit 判断该字符串中是否都是数字,返回True 或False
print(a.isdigit())
# isalpha 判断每个元素是否都是字母,如果字符串存在空格,就算全部都是字母也会返回False
print(a.isalpha())
# islower 判断字符串中是否都是小写字符
print(a.islower())
# isupper 判断字符字符是否大写
print(a.isupper())
改
讲完了查,现在讲改的方法,改的方法就比较朴素,没有查那么丰富了。
upper()方法
upper,顾名思义就是将字符串转换成大写:
a = 'hello world'
print(a.upper())
结果:HELLO WORLD
lower()
与之相反,自然会有个转换成小写的方法:
a = "HELLO WORLD"
print(a.lower())
结果:hello world
删
这部分操作呢,也可以叫做改,也可以叫做删,因为带有部分删除的功能,这里就叫它删吧
strip()
strip可以去除字符串两端的空格,当然也分出了lstrip删除左侧空格和rstrip删除右侧空格,这里以默认方法为准:
a = " hello world "
print(a.strip())
结果:hello world
如果你的字符串两端没有空格,则你可以指定一个元素,strip会为你删除指定的元素,如果该指定元素不存在,则无事发生:
a = "hello world"
print(a.strip('h'))
结果:ello world
split()方法
split可以指定一个元素,对字符串进行分列,同时删除该元素,如果该元素出现了多次,则分成多列
比如对一个hello world进行切割,切割l,则三个l一起切掉,该文本分为四段,并将结果转换成列表:
a = 'hello world'
print(a.split('l'))
结果:['he', '', 'owor', 'd']
replace()方法
replace可以将自定字符替换成自己想要的字符:
a = 'hello world'
print(a.replace('world','小杨'))
结果:hello小杨
字符串格式化等其他方法
通过加号来对两个字符串进行连接
如果有两个字符串,可以通过+来连接两个字符串:
a = 'hello'
b = 'world'
print(a+b)
结果:helloworld
占位符以及format的方法
概念:占位符说人话就是给一段字符串挖坑,挖完坑后用对应的东西填坑,并且挖了几个坑就必须填上几个坑
一开始的占位符看起来比较low,使用百分号%加上特定的字母来表示该占位符的数值类型,比如%S表示一个字符串,%d表示整数,%f表示浮点数,这里%.2f表示保留两位小数,使用%占位后,后面需要跟上%(填坑的数据)来填坑:
print('大家好,我是%s,今年%d岁,身高%.2f厘米' % ('小杨', 23, 170.0))
结果:大家好,我是小杨,今年23岁,身高170.00厘米
还有一种更加优雅的写法,也就是使用format方法来拼接,format的占位符是{},完成占位后使用.format(变量)来进行拼接
print('大家好,我是{}'.format('xiaoyang'))
结果:大家好,我是xiaoyang
join()方法
join方法可以用来拼接两个字符串,加两个字符串拼接在指定字符的两端,join后面只能接列表元组和字符串:
c = "+".join(['hello', 'world'])
print(c)
结果:hello+world
python基础之序列类型的方法——字符串方法的更多相关文章
- python基础之序列类型的方法——列表&元组
Hello大家好,我是python学习者小杨同学,上次跟大家分享关于python的数值类型和序列类型,本次就承接上一节的内容,说一说序列类型的方法. 序列类型的方法,简单的来说就是四个字:增删改查.随 ...
- Python基础:序列(字符串)
一.概述 字符串 类似于C中的字符数组(功能上更像C++中的string),它是由一个个 字符 组成的序列.与C/C++不同的是,Python中没有 字符 这个类型,而是用 长度为1的字符串 来表示字 ...
- Python基础:序列(列表、元组)
一.概述 列表(list)是由一个个 Python对象 组成的序列.其中,Python对象 可以是任何类型的对象,包括 Python标准类型(数值.字符串.列表.元组和字典)以及 用户自定义类型(类) ...
- python基础之数值类型与序列类型
Hello大家好,我是python学习者小杨同学,已经学习python有一段时间,今天将之前学习过的内容整理一番,在这与大家分享与交流,现在开始我们的python基础知识之旅吧. 数值类型与序列类型 ...
- Python基础__Python序列基本类型及其操作(1)
本节考虑的Python的一个中要的内置对象序列, 所谓的序列即一个有序对象的集合.这里的对象可以是数字.字符串等.根据功能的不同将序列分为字符串.列表.元组,本文将以下这几种对象做一些介绍. 一. 字 ...
- python基础教程-第三章-使用字符串
本章将会介绍如何使用字符串何世华其他的值(如打印特殊格式的字符串),并简单了解下利用字符串的分割.联接.搜索等方法能做些什么 3.1 基本字符串操作 所有标准的序列操作(索引.分片.乘法.判断成员资格 ...
- Python基础4:数据类型:数字 字符串 日期
[ Python 数据类型 ] 我们知道,几乎任何编程语言都具有数据类型:常见的数据类型有:字符串.整型.浮点型以及布尔类型等. Python也不例外,也有自己的数据类型,主要有以下几种: 1.数字: ...
- python高级(二)—— python内置序列类型
本文主要内容 序列类型分类: (1)容器序列.扁平序列 (2)可变序列.不可变序列 列表推导式 生成器表达式 元组拆包 切片 排序(list.sort方法和sorted函数) bisect pytho ...
- python基础之多态与多态性、绑定方法和非绑定方法
多态与多态性 多态 多态并不是一个新的知识 多态是指一类事物有多种形态,在类里就是指一个抽象类有多个子类,因而多态的概念依赖于继承 举个栗子:动物有多种形态,人.狗.猫.猪等,python的序列数据类 ...
随机推荐
- shell脚本三剑客之awk
shell脚本之awk命令 AWK 是一种处理文本文件的语言,是一个强大的文本分析工具 适合小型文本数据 1.工作原理 2.AWK格式 3.按行输入文本 4.按字段输入文本 5.通过管道符号,双引号调 ...
- Java访问修饰符和三大特征(封装,继承和多态)
一.访问修饰符基本介绍: java提供四种访问控制修饰符号,用于控制方法和属性(成员变量)的访问权限(范围): 1.公开级别:用public修饰,对外公开2.受保护级别:用protected修饰,对子 ...
- ASP.NET Core 6框架揭秘实例演示[01]: 编程初体验
作为<ASP.NET Core 3框架揭秘>的升级版,<ASP.NET Core 6框架揭秘>提供了很多新的章节,同时对现有的内容进行大量的修改.虽然本书旨在对ASP.NET ...
- 模块和包—Day28
一.模块 模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. import的过程:import一个模块的时候,首先创建一个属于my_module的内存空间,加载my_ ...
- 【曹工杂谈】Mysql-Connector-Java时区问题的一点理解--写入数据库的时间总是晚13小时问题
背景 去年写了一篇"[曹工杂谈]Mysql客户端上,时间为啥和本地差了整整13个小时,就离谱",结果最近还真就用上了. 不是我用上,是组内一位同事,他也是这样:有个服务往数据库in ...
- 使用MyBatis拦截器后,摸鱼时间又长了。🐟
场景 在后端服务开发时,现在很流行的框架组合就是SSM(SpringBoot + Spring + MyBatis),在我们进行一些业务系统开发时,会有很多的业务数据表,而表中的信息从新插入开始,整个 ...
- .NET 云原生架构师训练营(权限系统 系统演示 ActionAccess)--学习笔记
目录 模块拆分 环境配置 默认用户 ActionAccess 模块拆分 环境配置 mysql migration mysql docker pull mysql docker run -p 3306: ...
- JDK、JRE 和 JVM 有什么用,它们是怎样运行的
JDK如何运作? JDK 功能 以下是JDK的重要组件: JDK 和 JRE:程序员通过使用JDK 创建由 JRE 运行的 Java 程序,其中包括 JVM 和类库. 类库:是一组可动态加载的库,Ja ...
- 学习Spring5必知必会(3)~Spring的核心 IoC 和 DI
一.Spring的核心 IoC(基于XML) 1.IoC容器 (1)BeanFactory容器创建对象: //使用BeanFactory @Test void testBeanFactory() th ...
- QT通过静态库调用Go
## 编写Go代码 package main import( "fmt" "C" ) //export test func test(str *C.char) ...