Python语法必备篇——Python字符串 学习文末送书
Posted 呆呆敲代码的小Y
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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引擎的相关内容哦!直接点击下面颜色字体就可以跳转啦!
温馨提示: 点击下面卡片可以获取更多编程知识,包括各种语言学习资料,上千套PPT模板和各种游戏源码素材等等资料。更多内容可自行查看哦!
以上是关于Python语法必备篇——Python字符串 学习文末送书的主要内容,如果未能解决你的问题,请参考以下文章
Python语法必备篇——Python中的 列表 顶级入门教程 全面讲解