转载|Python语法必备篇——Python字符串 学习

332 阅读7分钟

目录

📢 前言

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

🏳️‍🌈访问字符串

🏳️‍🌈字符串拼接

🏳️‍🌈Python转义字符

🏳️‍🌈Python字符串运算符

🏳️‍🌈Python 字符串格式化

🏳️‍🌈Python三引号

🏳️‍🌈可变字符串

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

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

👥总结

📢 前言

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

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

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

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

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

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

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

str2 = "呆呆敲代码的小Y"
print(str1)
print(str2)

输出结果:

Hello,World 呆呆敲代码的小Y

🏳️‍🌈访问字符串

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

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

变量[头下标:尾下标]

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

image.png

image.png

🏳️‍🌈字符串拼接

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

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

输出结果:

Python 小Y

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

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

输出结果

已更新字符串 : Hello 小Y!

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

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

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中有很多转义字符,我们一起来看一下一些常用的转义字符

image.png

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

🏳️‍🌈Python字符串运算符

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

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

image.png

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

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.format("高淇",18)
'名字是:高淇,年龄是:18'

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

python字符串格式化符号:

image.png

格式化操作符辅助指令:

image.png

🏳️‍🌈Python三引号

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

简单实例如下:

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

输出结果:

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

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

<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 模块进行修改

例如:

>>> 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() 函数总是返回一个字符串。

print (type(msg))
print(msg)

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

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

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

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

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

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

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

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

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

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

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

image.png

image.png

image.png

image.png

👥总结

  • 本文介绍了Python中的字符串部分
  • 字符串是我们在写代码的时候最常用的一部分了
  • 这里介绍了包括访问字符串、字符串拼接、Python转义字符、Python字符串运算符、Python 字符串格式化、Python三引号、可变字符串、使用 input 获取用户输入、Python 的字符串内建函数等方法
  • 都是Python中比较常用的部分,可能也有没讲到的地方,大家可以自行查阅资料再进行学习
  • 其中部分表格也是参考了一些其他文章中的内容,在这里致谢了~
  • 如有哪个地方写的不对也希望大家可以在评论区指正修改哦
  • 觉得博主写的还不错记得三连支持一波哦~ 咱们下次再见啦! ———————————————— 版权声明:本文为CSDN博主「呆呆敲代码的小Y」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:blog.csdn.net/zhangay1998…

———————————————— 版权声明:本文为CSDN博主「呆呆敲代码的小Y」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:blog.csdn.net/zhangay1998…