零基础 | 入门python05:探索python之字符串,给你一个不一样的金秋收获

前言

(大家好!!!我是住隔壁的王叔,在与Python恋爱的第n天后,我想浅浅的带大家去了解什么是字符串)(ps:文末有福利

一、什么是字符串

字符串的理解(字符串是用’,”,’’’,”””引起来的内容被称为字符串,书写方式是str)比如下面的几种写法
在这里插入图片描述
这里定义了name city和TEXT3个变量都是字符串类型。我们知道Python中单引号、双引号和三引号的字符串是一模一样的,没有区别,比如下面的这个例子中的S1S2S3完全一样。
在这里插入图片描述
Python同时支持这三种表达方式,很重要的一个原因呢,就在于方便你在字符串中内嵌带引号的字符串,比如下面这个字符串。
在这里插入图片描述
python的三引号字符串则主要应用于多行字符串的情景,比如函数的注释等等。
在这里插入图片描述
同时,Python也支持转移字符,所谓的转移字符就是用反斜杠开头的字符串来表示一些特定意义的字符。
\newline:接下一行
\:表示
':表示单引号
‘’:表示双引号"
\n:换行
\t:横向制表符
\b:退格
\v:纵向制表符

说明,这个例子代码中的\n表示一个字符,即换行符,\t也表示一个字符,即横向制表符。所以最后打印出来的输出就是字符a,换行字符B,然后制表符,最后打印字符C。不过要注意,虽然最后打印的输出横跨了两行,但是整个字符串S仍然只有五个元素。
在这里插入图片描述

在转移字符的应用中,最常见的就是换行符\N的使用。比如文件读取,如果我们一行行的读取,那么每一行字符串的末尾都会包含换行符反斜杠恩,而最后做数据处理时,我们往往会丢掉每一行的换行符。

二、字符串的常用操作

这里以代码+注释的方式,展示几个常用的字符串操作。

a = ’ Hello World ’

#获取字符串的长度
print(len(a)) # 13

#删除字符串两边的空格
print(a.strip()) # Hello World

#删除左边的空格
print(a.lstrip()) # Hello World (只删除左边的空格)

#删除字符串右边的空格
print(a.rstrip()) # Hello World

#通过指定连接符 链接字符串
lst = [‘LiMing’, ‘Tom’]
print(''.join(lst)) # LiMingTom

#首字母大写
m = ‘hello world’
print(m.capitalize()) # Hello world
#返回标题化字符串,即每个单词首字母大写
print(m.title()) # Hello World

#打印输出字符,将字符串放在中间,
#center(width, fillchar) width: 字符串的总长度, fillchar:填充字符
print(a.center(20, ‘*’)) # *** Hello World ****

#是否以xxx开头
n = ‘Hello’
print(n.startswith(‘H’)) # True

#是否以xxx结尾
print(n.endswith(‘o’)) # True

#字符串是全纯英文字符
print(a.isalpha()) # False , 因为字符串a中 ’ Hello World ’ 有空格,因此返回False
print(‘HelloWorld’.isalpha()) #True

#判断字符串中是否全部为数字或者英文
print(‘Hello2World’.isalnum()) # True
print(‘123’.isalnum()) # True
print(‘abc&11’.isalnum()) # False

#判断是否为整数
print(‘123’.isdigit()) # True
print(‘1.23’.isdigit()) # False

#判断字符是否全为小写
print(‘abc’.islower()) # True

#判断字符是否全为大写
print(‘Abc’.isupper()) # False
print(‘ABC’.isupper()) # True

#字符串小写转大写
print(‘abc’.upper()) # ABC

#字符串大写转小写
print(‘ABC’.lower()) # abc

#字符串的替换
b = ‘aabbcc’.replace(‘a’, ‘m’)
print(b) # mmbbcc
#1 代表替换的个数
b = ‘aabbcc’.replace(‘a’, ‘m’, 1)
print(b) # mabbcc

#split 字符串切割,默认空格切割
print(‘aa bb cc’.split()) # [‘aa’, ‘bb’, ‘cc’]
print(‘ab,cd,ef’.split(‘,’)) # [‘ab’, ‘cd’, ‘ef’]

#字符串换行分割
a = “”"
My Name is ‘Python阿喵’,
欢迎关注
“”"
print(a.splitlines()) # [‘’, " My Name is ‘Python阿喵’,", ’ 欢迎关注’, ’ ']
复制代码

三、字符串的查找

字符串查找常用的方法用index、find

两者功能相似,区别在于find查找不到元素时返回 -1, 不会影响程序运行,而index则会抛出异常。

a = ‘abcdef’
#查找到元素返回对应的下标
print(a.find(‘c’)) # 2
print(a.find(‘h’)) # -1

print(a.index(‘c’)) # 2
print(a.index(‘h’)) # 抛出异常,ValueError: substring not found
复制代码
rfind: 类似于find()函数,不过是从右边开始查找;返回字符串最后一次出现的位置,如果没有匹配项则返回-1 。rindex 同理
a = ‘acmncd’
#从右边开始计算,返回第一个匹配到的下标
print(a.rfind(‘c’)) # 4
print(a.rindex(‘c’)) # 4
复制代码

四、字符串的格式化

什么是字符串的格式化呢?通常我们使用一个字符串作为模板,模板中会有格式符,这些格式符为后续真实值预留位置,已呈现出真实值应该呈现的格式。字符串的格式化通常会用在程序的输出、logging等场景。

举一个常见的例子,比如我们有一个任务给另一个用户的user ID,要去数据库中查询该用户的一些信息并返回。如果数据库中没有此人的信息,我们通常会记录下来,这样有利于往后的日志分析,或者是线上bug的调试等等。
我们通常会用下面的方法来表示。
在这里插入图片描述

其中的string.format就是所谓的格式化函数,而大括号就是所谓的格式符,用来为后面的真实值也就是变量name预留位置。如果ID=‘123’、 name=‘Jason’,那么输出变如下所示。
在这里插入图片描述

这样看来是不是非常简单呢?不过要注意,String format()是最新的字符串格式函数与规范。自然我们还有其他的表示方法,比如在Python之前的版本中,字符串格式化通常用%来表示,那么上述的例子就可以写成下面这样
在这里插入图片描述

其中%S表示字符串型,%d表示整形等等,这些属于常识,你应该都了解。

当然,现在你写程序时,我还是推荐format函数,毕竟这是最新规范,也是官方文档推荐的规范。

为什么非要使用格式化函数?上述例子使用字符串的拼接不也能完成吗?没错,在很多情况下,字符串拼接确实能满足格式化函数的需求,但是使用格式化函数。更加清晰易读,并且呢更加规范,不易出错。

五、总结

这里主要介绍了Python字符串的一些基本知识和常用操作,并且结合具体的例子与场景加以说明。特别需要注意下面这几点:

1、Python中字符串使用单引号、双引号和单引号表示,三者意义相同,并没有什么区别。其中三引号的字符串通常用在多行字符串的场景。
2、Python中字符串是不可变的,因此呢,随意改变字符串中字符的值是不被允许的。
3、Python新版本中字符串的拼接变得比以前高效了许多,也可以放心使用。
4、Python中字符串的格式化常常用在输出日志的记录等场景。

六、推荐一些Python学习资料

附上Python学习指南

在这里插入图片描述

👉Python学习路线汇总👈

围绕Python所有方向的技术点做的整理,以形成各个领域的知识点汇总,这样就可以按照上面的知识点去找对应的学习资源,保证学得较为全面。

👉Python必备开发工具👈

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

👉Python学习视频600合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

👉实战案例👈

边学边练是最高效的学习方法,这时候可以搞点实战案例来学习。

👉100道Python练习题👈

检查学习结果。

👉面试刷题👈


👉资料领取👈

这份完整版的Python全套学习资料已为大家备好,朋友们如果需要可以微信扫描下方二维码添加“住隔壁的王叔”,输入"领取资料" 可免费领取全套资料【有什么需要协作的还可以随时联系我】朋友圈也会不定时的更新最前言python知识。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值