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基础之序列类型的方法——字符串方法的更多相关文章

  1. python基础之序列类型的方法——列表&元组

    Hello大家好,我是python学习者小杨同学,上次跟大家分享关于python的数值类型和序列类型,本次就承接上一节的内容,说一说序列类型的方法. 序列类型的方法,简单的来说就是四个字:增删改查.随 ...

  2. Python基础:序列(字符串)

    一.概述 字符串 类似于C中的字符数组(功能上更像C++中的string),它是由一个个 字符 组成的序列.与C/C++不同的是,Python中没有 字符 这个类型,而是用 长度为1的字符串 来表示字 ...

  3. Python基础:序列(列表、元组)

    一.概述 列表(list)是由一个个 Python对象 组成的序列.其中,Python对象 可以是任何类型的对象,包括 Python标准类型(数值.字符串.列表.元组和字典)以及 用户自定义类型(类) ...

  4. python基础之数值类型与序列类型

    Hello大家好,我是python学习者小杨同学,已经学习python有一段时间,今天将之前学习过的内容整理一番,在这与大家分享与交流,现在开始我们的python基础知识之旅吧. 数值类型与序列类型 ...

  5. Python基础__Python序列基本类型及其操作(1)

    本节考虑的Python的一个中要的内置对象序列, 所谓的序列即一个有序对象的集合.这里的对象可以是数字.字符串等.根据功能的不同将序列分为字符串.列表.元组,本文将以下这几种对象做一些介绍. 一. 字 ...

  6. python基础教程-第三章-使用字符串

    本章将会介绍如何使用字符串何世华其他的值(如打印特殊格式的字符串),并简单了解下利用字符串的分割.联接.搜索等方法能做些什么 3.1 基本字符串操作 所有标准的序列操作(索引.分片.乘法.判断成员资格 ...

  7. Python基础4:数据类型:数字 字符串 日期

    [ Python 数据类型 ] 我们知道,几乎任何编程语言都具有数据类型:常见的数据类型有:字符串.整型.浮点型以及布尔类型等. Python也不例外,也有自己的数据类型,主要有以下几种: 1.数字: ...

  8. python高级(二)—— python内置序列类型

    本文主要内容 序列类型分类: (1)容器序列.扁平序列 (2)可变序列.不可变序列 列表推导式 生成器表达式 元组拆包 切片 排序(list.sort方法和sorted函数) bisect pytho ...

  9. python基础之多态与多态性、绑定方法和非绑定方法

    多态与多态性 多态 多态并不是一个新的知识 多态是指一类事物有多种形态,在类里就是指一个抽象类有多个子类,因而多态的概念依赖于继承 举个栗子:动物有多种形态,人.狗.猫.猪等,python的序列数据类 ...

随机推荐

  1. ELK、ELFK企业级日志分析系统

    ELK.ELFK企业级日志分析系统 目录 ELK.ELFK企业级日志分析系统 一.ELK日志分析系统 1. ELK简介 1.2 ElasticSearch 1.3 Logstash 1.4 Kiban ...

  2. asp.core 同时兼容JWT身份验证和Cookies 身份验证两种模式

    在实际使用中,可能会遇到,aspi接口验证和view页面的登录验证情况.asp.core 同样支持两种兼容. 首先在startup.cs 启用身份验证. var secrityKey = new Sy ...

  3. MySQL数据库初识、下载使用(针对库、表、记录的增删改查)

    今日内容概要 数据演变史 数据库软件的本质 MySQL简介 下载与安装 基本配置 基本SQL语句 内容详细 1.数据演变史 # 1.单独的文本文件 没有固定的存放位置和格式 文件名:user.txt ...

  4. Solution -「CTS 2019」「洛谷 P5404」氪金手游

    \(\mathcal{Description}\)   Link.   有 \(n\) 张卡牌,第 \(i\) 张的权值 \(w_i\in\{1,2,3\}\),且取值为 \(k\) 的概率正比于 \ ...

  5. Spring Bean配置加载为BeanDefinition全过程(注解配置)

    生产中有很多形式的的配置方式,本文仅分析注解配置.对于其他形式的配置区别主观以为主要在配置文件的解析过程不同,不一一分析了.本文以利用Dubbo框架开发rpc服务端为例详细阐述配置类的解析.数据保存. ...

  6. 面试突击25:sleep和wait有什么区别

    sleep 方法和 wait 方法都是用来将线程进入休眠状态的,并且 sleep 和 wait 方法都可以响应 interrupt 中断,也就是线程在休眠的过程中,如果收到中断信号,都可以进行响应,并 ...

  7. apache缺少模块解决方法

    找到一台老古董机器 [root@resource conf]# cat /etc/redhat-release CentOS release 5.6 (Final) [root@resource co ...

  8. ctf linux 基本命令

    从网站上下载一个tar.gz的安装包,在linux下解压缩. 获得一个flag的二进制文件. 通过linux的grep命令搜索到key. grep命令参数中文说明

  9. 【windows 访问控制】三、访问控制列表 ACL=DACL+SACL

    访问控制列表(ACL:Access Control List) ACL列表的结构 ACL 中的每个 ACE 标识一个受信者,并指定该受信者访问规则.安全对象的安全描述符 可以包含两种类型的 ACL:D ...

  10. SQL Server Cross/Outer Apply

    SQL Server2005引入了APPLY运算符,它非常像连接子句,它允许两个表达式直接进行连接,即将左/外部表达式和右/内部表达式连接起来. CROSS APPLY(类比inner join)和O ...