打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Python语法必备篇——Python字符串 学习【文末送书】
  • 🎬 博客主页:https://xiaoy.blog.csdn.net

  • 🎥 本文由 呆呆敲代码的小Y 原创🙉

  • 🎄 学习专栏推荐:Unity系统学习专栏

  • 🌲 游戏制作专栏推荐:游戏制作

  • 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!

  • 📆 未来很长,值得我们全力奔赴更美好的生活✨

  • ------------------❤️分割线❤️-------------------------


目录

📢 前言

  • 本文章是【Python零基础到入门专栏】学习的系列文章

  • Python学习专栏 传送门 在此:https://blog.csdn.net/zhangay1998/category_11086734.html

  • 本篇文章来说一下Python 的字符串,也是Python之路上一个必备的操作~

  • 提示:本文的环境配置是Python3的开发环境,后续教程也都是Python3


👑Python语法必备篇——字符串 学习

本篇文章来讲一下Python中的字符串,方便我们学习

字符串的意思跟字面意思很像,就是“一串字符”,字符串是 Python 中最常用的数据类型。

Python 要求字符串必须使用引号括起来,使用单引号也行,使用双引号也行,只要两边的引号能配对即可。

Python3 直接支持 Unicode,可以表示世界上任何书面语言的字符。

Python3 的字符默认就是 16 位 Unicode 编码,ASCII 码是 Unicode 编码的子集。

创建字符串很简单,只要为变量分配一个值即可,例如以下代码:

str1 = 'Hello,World”'
str2 = "呆呆敲代码的小Y"
print(str1)
print(str2)

输出结果:

Hello,World
呆呆敲代码的小Y


🏳️‍🌈访问字符串

Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。

Python 访问子字符串,可以使用方括号 [] 来截取字符串,字符串的截取的语法格式如下:

变量[头下标:尾下标]

索引值以 0 为开始值,-1 为从末尾的开始位置。



🏳️‍🌈字符串拼接

Python 使用加号(+)作为字符串的拼接运算符,例如如下代码:

s1 = "Python "
s2 = "小Y"
#使用+拼接字符串
s3 = s1 + s2
print(s4)

输出结果:

Python 小Y

还可以截取字符串的一部分并与其他字段拼接,如下实例:

var1 = 'Hello World!'
 
print ("已更新字符串 : ", var1[:6] + '小Y!')

输出结果

已更新字符串 : Hello 小Y!

但是有时候会遇到字符串拼接数值的情况,这个时候并不能直接将他们添加到一起

可以使用str() 或 repr() 函数来解决问题

s = "数字: "
p = 66.6
#字符串直接拼接数值,程序报错
print(s + p)
#使用str()将数值转换成字符串
print(s + str(p))
#使用repr()将数值转换成字符串
print(s + repr(p))

str() 和 repr() 函数都可以将数值转换成字符串,其中 str 本身是 Python 内置的类型(和 int、float 一样),而 repr() 则只是一个函数。


🏳️‍🌈Python转义字符

Python中有很多转义字符,我们一起来看一下一些常用的转义字符

转义字符描述
(在行尾时)续行符
\反斜杠符号
单引号
"双引号
\b退格(Backspace)
\n换行
\t横向制表符
\r回车

为什么要用这些转义符呢,因为某些难以用字符表示的效果 需要使用“+特殊字符”来实现


🏳️‍🌈Python字符串运算符

有时候我们需要对一些字符串进行一些个简单的拼接等运算

所以python中也有一些专门的运算符给我们做此使用

操作符描述实例
+字符串连接a + b 输出结果: HelloPython
*重复输出字符串a*2 输出结果:HelloHello
[]通过索引获取字符串中字符a[1] 输出结果 e
[ : ]截取字符串中的一部分,遵循左闭右开原则,str[0:2] 是不包含第 3 个字符的。a[1:4] 输出结果 ell
in成员运算符 - 如果字符串中包含给定的字符返回 True'H’ in a 输出结果 True
not in成员运算符 - 如果字符串中不包含给定的字符返回 True'M’ not in a 输出结果 True
r/R原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母 r(可以大小写)以外,与普通字符串有着几乎完全相同的语法。print( r’\n’ )
print( R’\n’ )

下面来结合实例看一下具体的字符串运算符用法!

a = "Hello"
b = "小Y"
 
print("a + b 输出结果:", a + b)
print("a * 2 输出结果:", a * 2)
print("a[1] 输出结果:", a[1])
print("a[1:4] 输出结果:", a[1:4])
 
if( "H" in a) :
    print("H 在变量 a 中")
else :
    print("H 不在变量 a 中")
 
if( "M" not in a) :
    print("M 不在变量 a 中")
else :
    print("M 在变量 a 中")
 
print (r'\n')
print (R'\n')

输出结果:

a + b 输出结果: Hello小Y
a * 2 输出结果: HelloHello
a[1] 输出结果: e
a[1:4] 输出结果: ell
H 在变量 a 中
M 不在变量 a 中
\n
\n


🏳️‍🌈Python 字符串格式化

Python 支持格式化字符串的输出 。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。

在 Python 中,字符串格式化使用与 C 中 sprintf 函数一样的语法。例如:

print ("我叫 %s 今年 %d 岁!" % ('小Y', 25))

输出结果:

我叫 小Y 今年 25 岁!

还可以使用 str.format() 来实现,可以通过 {} 和 : 来代替以前的 % 。例如:

>>> a = "名字是:{0},年龄是:{1}"

>>> a.format("高淇",18)
'名字是:高淇,年龄是:18'

>>> a.format("高希希",6)
'名字是:高希希,年龄是:6'

python字符串格式化符号:

符 号描述
%c格式化字符及其ASCII码
%s格式化字符串
%d格式化整数
%u格式化无符号整型
%o格式化无符号八进制数
%x格式化无符号十六进制数
%X格式化无符号十六进制数(大写)
%f格式化浮点数字,可指定小数点后的精度
%e用科学计数法格式化浮点数
%E作用同%e,用科学计数法格式化浮点数
%g%f和%e的简写
%G%f 和 %E 的简写
%p用十六进制数格式化变量的地址

格式化操作符辅助指令:

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

🏳️‍🌈Python三引号

python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。实例如下

简单实例如下:

para_str = """一个多行字符串的实例
多行字符串可以使用制表符
TAB ( \t )。
也可以使用换行符 [ \n ]。
"""
print (para_str)

输出结果:

这是一个多行字符串的实例
多行字符串可以使用制表符
TAB ( )。
也可以使用换行符 [
]。

使用这个三引号有一个很方便的点,就是当我们需要表示一个很复杂的字符串代码段时
比如HTML或者SQL语句,这个时候使用转义字符就会非常麻烦,而使用三引号就非常方便。例如:

errHTML = '''
<HTML><HEAD><TITLE>
Friends CGI Demo</TITLE></HEAD>
<BODY><H3>ERROR</H3>
<B>%s</B><P>
<FORM><INPUT TYPE=button VALUE=Back
ONCLICK="window.history.back()"></FORM>
</BODY></HTML>
'''
cursor.execute('''
CREATE TABLE users (  
login VARCHAR(8), 
uid INTEGER,
prid INTEGER)
''')

🏳️‍🌈可变字符串

由于Python中的字符串是属于不可变对象,不支持原地修改

但是我们有时候确实需要进行原地修改的时候也可以使用 io.StringIO对象array 模块进行修改

例如:

>>> import io
>>> s = "hello, xiaoY"
>>> sio = io.StringIO(s)
>>> sio
<_io.StringIO object at 0x02F462B0>
>>> sio.getvalue()
'hello, xiaoY'
>>> sio.seek(11)
11
>>> sio.write("Z")
1
>>> sio.getvalue()
'hello, xiaoZ'

🏳️‍🌈使用 input 获取用户输入

input() 函数用于向用户生成一条提示,然后获取用户输入的内容。

由于 input() 函数总会将用户输入的内容放入字符串中,因此用户可以输入任何内容,input() 函数总是返回一个字符串。

msg = input("请输入你的值:")
print (type(msg))
print(msg)

第一次运行该程序,我们输入一个整数,运行过程如下:

请输入你的值:6
<class 'str’>
6

第二次运行该程序,我们输入一个浮点数,运行过程如下:

请输入你的值: 1.2
<class 'str’>
1.2

第三次运行该程序,我们输入一个字符串,运行过程如下:

请输入你的值:xiaoY
<class 'str’>
xiaoY

从上面的几个实例可以看出,无论输入哪种内容,始终可以看到 input() 函数返回字符串,程序总会将用户输入的内容转换成字符串。


🏳️‍🌈Python 的字符串内建函数

最后再来说一下Python 的字符串内建函数

什么是内建函数呢,简单来说就是Python为我们封装好的一些方法,可以拿来直接使用

下面来看一下表格,简单讲常用的 字符串内建函数 ,方便我们在写代码的时候快捷使用

序号方法及描述
capitalize()将字符串的第一个字符转换为大写
count(str, beg= 0,end=len(string))返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数
bytes.decode(encoding=“utf-8”, errors=“strict”)Python3 中没有 decode 方法,但我们可以使用 bytes 对象的 decode() 方法来解码给定的 bytes 对象,这个 bytes 对象可以由 str.encode() 来编码返回。
encode(encoding='UTF-8’,errors='strict’)以 encoding 指定的编码格式编码字符串,如果出错默认报一个ValueError 的异常,除非 errors 指定的是’ignore’或者’replace’
endswith(suffix, beg=0, end=len(string))检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False.
expandtabs(tabsize=8)把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8 。
find(str, beg=0, end=len(string))检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1
index(str, beg=0, end=len(string))跟find()方法一样,只不过如果str不在字符串中会报一个异常。
isalnum()如果字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False
isalpha()如果字符串至少有一个字符并且所有字符都是字母或中文字则返回 True, 否则返回 False
isdigit()如果字符串只包含数字则返回 True 否则返回 False…
islower()如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False
isnumeric()如果字符串中只包含数字字符,则返回 True,否则返回 False
isspace()如果字符串中只包含空白,则返回 True,否则返回 False.
istitle()如果字符串是标题化的(见 title())则返回 True,否则返回 False
isupper()如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False
join(seq)以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
len(string)返回字符串长度
ljust(width[, fillchar])返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。
lower()转换字符串中所有大写字符为小写.
lstrip()截掉字符串左边的空格或指定字符。
maketrans()创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。
max(str)返回字符串 str 中最大的字母。
min(str)返回字符串 str 中最小的字母。
replace(old, new [, max])把 将字符串中的 old 替换成 new,如果 max 指定,则替换不超过 max 次。
rfind(str, beg=0,end=len(string))类似于 find()函数,不过是从右边开始查找.
rindex( str, beg=0, end=len(string))类似于 index(),不过是从右边开始.
rjust(width,[, fillchar])返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度 width 的新字符串
rstrip()删除字符串末尾的空格或指定字符。
split(str="", num=string.count(str))以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num+1 个子字符串
splitlines([keepends])按照行(’\r’, '\r\n’, \n’)分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。
startswith(substr, beg=0,end=len(string))检查字符串是否是以指定子字符串 substr 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。
strip([chars])在字符串上执行 lstrip()和 rstrip()
swapcase()将字符串中大写转换为小写,小写转换为大写
title()返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())
translate(table, deletechars="")根据 str 给出的表(包含 256 个字符)转换 string 的字符, 要过滤掉的字符放到 deletechars 参数中
upper()转换字符串中的小写字母为大写
zfill (width)返回长度为 width 的字符串,原字符串右对齐,前面填充0
isdecimal()检查字符串是否只包含十进制字符,如果是返回 true,否则返回 false。

👥总结

  • 本文介绍了Python中的字符串部分
  • 字符串是我们在写代码的时候最常用的一部分了
  • 这里介绍了包括访问字符串、字符串拼接、Python转义字符、Python字符串运算符、Python 字符串格式化、Python三引号、可变字符串、使用 input 获取用户输入、Python 的字符串内建函数等方法
  • 都是Python中比较常用的部分,可能也有没讲到的地方,大家可以自行查阅资料再进行学习
  • 其中部分表格也是参考了一些其他文章中的内容,在这里致谢了~
  • 如有哪个地方写的不对也希望大家可以在评论区指正修改哦
  • 觉得博主写的还不错记得三连支持一波哦~ 咱们下次再见啦!

👑评论区抽奖送书

最后在评论区进行抽取三名幸运的小伙伴送下面这本书籍

  • 博主这有一些Python相关的书籍,是由 北京大学出版社 赞助的,在此感谢~大家喜欢的也可以去官方购买!

  • 在这里搞个小活动抽奖送给大家,对看书感兴趣的小伙伴可以参加一波呀,刚开始可能参与的不多,抽中概率很大哦!

  • 《Python编程宝典:迅速提高编程水平的100个关键技能》

  • 一本非常经典的Python编程宝典,可以迅速提高编程水平!

  • 尤其是想从事Python开发的小伙伴,这本书就可以让你了解相关知识,对症下药可以极大地提高学习效率!

🎁抽奖规则

规则如下:

🚀 规则如下🚀
  • 给本篇博客文章 点赞 收藏 评论 三连,然后在评论区评论里 送一本书籍,总共抽三本!

  • 总共抽三本,中的几率还是很大的哦~ 想看书的小伙伴参与起来!

  • 中奖信息周五下午本篇文章评论区公布!记得留意呀!

  • 没抽到的,但是喜欢这本书的小伙伴也可以在网上自行购买哈,官方正品商店购买即可!

🚀 规则如上🚀

🎄《Python编程宝典:迅速提高编程水平的100个关键技能》推荐理由(⭐⭐⭐⭐⭐)

  • 1 案例完整
    本书讲解了Python编程从入门到精通可能涉及的100个关键技能。

  • 2 案例经典实用
    100个关键技能,对应100个关键练习,能学会用。

  • 3 适用对象
    本书既适合非计算机软件专业出身的编程小白,也适合即将走上工作岗位的广大毕业生,以及已经有编程经验但想转行做数据分析与数据挖掘的专业人士。同时,还可以作为广大职业院校、培训班的教学参考用书。

  • 4 图书简介
    本书以实战技能的形式,讲解了Python编程从入门到精通可能涉及的100个关键技能,从最基本的语法基础,到面向对象程序设计,再到算法与数据结构,最后是基于Python的各种应用,包括游戏、网站、数据分析与数据挖掘等。本书内容全面,力求覆盖Python所能涉及的各方面应用。通过实战技能的形式,读者学习时容易上手操作,达到学以致用、举一反三的目的。
    全书分5章,共100个关键实战技能。第1章主要介绍了Python基本语法的27个实战技能;第2章主要介绍了Python经典算法的21个实战技能;第3章主要介绍了Python在应用开发方面的13个实战技能;第4章主要介绍了Python在数据分析方面的15个实战技能;第5章在第4章内容的基础上,主要介绍了Python在数据挖掘方面的24个实战技能。

书本图片如下,喜欢的小伙伴参与起来!也可以京东链接自行购买哦~


喜欢的小伙伴可以尝试抽奖一下呀!

抽不到的小伙伴喜欢的也可以自行购买哦,这本书还是很不错的!


🚀往期优质文章分享

  • ❤️Unity零基础到入门 | 游戏引擎 Unity 从0到1的 系统学习 路线【全面总结-建议收藏】!
  • 🧡花一天时间做一个高质量飞机大战游戏,过万字Unity完整教程!漂亮学妹看了直呼666!
  • 💛通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难
  • 💚重回童年的经典系列☀️|【贪吃蛇小游戏】近两万字完整制作过程+解析+源码 【建议收藏学习】
  • 🤍重回童年的经典系列☀️| 【皇室战争 】 的 即时战斗类 复刻游戏Demo!两万多字游戏制作过程+解析!
  • 💙重回童年的经典系列☀️| 【横版街机格斗游戏】类似“恐龙快打” 该如何制作? | 一起来学习 顺便送源码【建议收藏学习】
  • 💜重回童年的经典系列☀️|【炸弹人小游戏】制作过程+解析 | 收藏起来跟曾经的小伙伴一起梦回童年!

🚀 优质专栏分享 🚀
  • 🎄如果感觉文章看完了不过瘾,可以来我的其他 专栏 看一下哦~
  • 🎄比如以下几个专栏:Unity基础知识学习专栏Unity游戏制作专栏Unity实战类项目 算法学习专栏
  • 🎄可以学习更多的关于Unity引擎的相关内容哦!直接点击下面颜色字体就可以跳转啦!
❤️ 游戏制作专栏 ❤️
🧡 Unity系统学习专栏 🧡
💛 Unity实战类项目 💛
💚 算法千题案例 💚
💙 Python零基础到入门 💙

温馨提示: 点击下面卡片可以获取更多编程知识,包括各种语言学习资料,上千套PPT模板和各种游戏源码素材等等资料。更多内容可自行查看哦!

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Python语言学习:Python语言学习之数据类型/变量/字符串/操作符/转义符的简介、案例应用之详细攻略
Python字符串介绍详解
我的Python笔记·第一个Python程序
Python小课——学习笔记(3)
python 字符串操作2
Python 字符串
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服