???? 前言
本文章是【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中有很多转义字符,我们一起来看一下一些常用的转义字符为什么要用这些转义符呢,因为某些难以用字符表示的效果 需要使用“+特殊字符”来实现
????️????Python字符串运算符
有时候我们需要对一些字符串进行一些个简单的拼接等运算
所以python中也有一些专门的运算符给我们做此使用下面来结合实例看一下具体的字符串运算符用法!
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字符串格式化符号:格式化操作符辅助指令:
????️????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为我们封装好的一些方法,可以拿来直接使用
下面来看一下表格,简单讲常用的 字符串内建函数 ,方便我们在写代码的时候快捷使用
????总结
本文介绍了Python中的字符串部分
字符串是我们在写代码的时候最常用的一部分了
这里介绍了包括访问字符串、字符串拼接、Python转义字符、Python字符串运算符、Python 字符串格式化、Python三引号、可变字符串、使用 input 获取用户输入、Python 的字符串内建函数等方法
都是Python中比较常用的部分,可能也有没讲到的地方,大家可以自行查阅资料再进行学习
其中部分表格也是参考了一些其他文章中的内容,在这里致谢了~
如有哪个地方写的不对也希望大家可以在评论区指正修改哦
觉得博主写的还不错记得三连支持一波哦~ 咱们下次再见啦!