文章目录

  • 一、介绍
  • 1. 表现形式:
  • 2. 举例:
  • 例子一:
  • 例子二:
  • 例子三:
  • 例子四:
  • 例子五:
  • 二、转义字符
  • 1. 错误例子
  • 2. 正确例子
  • 3. 转义的其他用法
  • 三、字符串操作
  • 1. 字符串拼接
  • 2. 字符串截取
  • 四、总结



Python 中很大一部分的操作都是和字符串操作相关的,不管是数据的获取,还是数据的处理,最后到数据的展现,这中间都离不开字符串这个基本数据类型。

而且,Python 中有着很完善的字符串操作,其中一些常用的字符串操作 Python 都已经很好的封装在里面,同时网上还有各种第三方的包,可以说是应有尽有。许多过程都并不需要自己去编写,也就是俗称的“重复造轮子”,在很多实际应用中,避免重复造轮子才是生产力提高的表现,毕竟如果不是深耕底层编程的人员,绝大部分使用者都只是把 Python 用来作为一项提高生产力的工具,也就没必要每个都重复写一遍了。

这篇会着重讲一下字符串的基本使用方法,之后会有一些字符串第三方的包的介绍。

一、介绍

字符串字面意思就是由多个单字符串起组成,不管是单个字符还是多个字符组成,Python 里面都会解释成字符串。

Python 字符串的表现形式有两种,两种表现形式最后表达的结果是相同的,不需要像有的变成语言一样单独区分表现形式。当然,编程中所有的符号都是在英文状态下编写的,中英标点符号不相通,也就是说 Python 解释器遇到中文标点符号会直接报错。

1. 表现形式:

  1. 双引号表示
  2. 单引号表示
  3. 多行文本段落可以在文本前后各加三个单引号 '''(或者三个双引号 """ ),
    注意:这边因为是多行文本,所以很多时候会有回车换行,如果打印出来的多行文本不需要多行展示,而是连成一句话展示,这时候可以在每一行的最后加 \ , 这样 Python 解释器就不会解释换行符。

2. 举例:

这边用type()函数来判断变量是什么类型,从最后打印出来的可以看到,
所有的都是 <class ‘str’> ,也就是字符串类型。

例子一:

a = '这是一串单引号括起来的字符串!'
print(a)
print(type(a))

# 输出 >>>
这是一串单引号括起来的字符串!
<class 'str'>

例子二:

b = "这是一串双引号括起来的字符串!可以有数字:3"
print(b)
print(type(b))

# 输出 >>>
这是一串双引号括起来的字符串!
<class 'str'>

例子三:

c = '''
	这是一串多行文本字符串,
	可以自由添加多行文本,
	打印输出的时候每一行都会解释换行符,
	所以在界面上什么样的,打印出来就是什么样。
	'''
print(c)
print(type(c))

# 输出 >>>
这是一串多行文本字符串,
可以自由添加多行文本,
打印输出的时候每一行都会解释换行符,
所以在界面上什么样的,打印出来就是什么样。
<class 'str'>

例子四:

d = """
	这是一串用双引号括起来的多行文本字符串,
	和用单引号括起来的是一样的。
	"""
print(d)
print(type(d))

# 输出 >>>
这是一串用双引号括起来的多行文本字符串,
和用单引号括起来的是一样的。
<class 'str'>

例子五:

e = '''
这是一句话\
Python 编译的时候会直接把\
换行符给忽略
'''
print(e)
print(type(e))

# 输出 >>>
这是一句话Python 编译的时候会直接把换行符给忽略
<class 'str'>


二、转义字符

有时候我们需要在一串字符串里面添加单引号或者双引号,这时候如果直接加的话,Python解释器会直接报错,所以这时候就需要 转义字符 的帮忙了。

我们先来看几个错误例子,在错误例子中,引号错误的使用方法会导致解释器直接报错。

由下面的例子的错误信息来看,解释器直接输出了一句 invalid syntax ,也就是 Python 语法的不规范使用,并且给我们直接指出了错误引用单引号的位置。根据这个提示出来的错误,我们可以直接找到错误的位置以及如何修改。当然,因为解释器是一行一行解释的,所以下面第二行代码的错误未能直接报出来,必须得等第一个错误解决以后才能发现第二个错误。

1. 错误例子

# 这边如果在字符串中直接添加单引号以及双引号,那编译的时候就会直接报错

print('这是一串添加单引号的'字符串')
print("这边是另一串添加了双引号的"字符串")


# 输出 >>>
File "d:\MyProject\python-test\test.py", line 1
print('这是一串添加单引号的'字符串')
                        ^
SyntaxError: invalid syntax

2. 正确例子

下面再看一下正确的使用方式,在使用转义符对字符串中的引号转义以后,解释器就不会直接把引号当成是字符串的表现符号了,内容也就可以正常输出了。

print('这是一串添加单引号的\'字符串')
print("这边是另一串添加了双引号的\"字符串")

# 输出 >>>
这是一串添加单引号的'字符串
这边是另一串添加了双引号的""字符串

3. 转义的其他用法

当然,转义符号不仅仅是用在引号的转义上,还可以用在其他字符的转义,满足在各种特殊条件下使用。

转义字符

描述

实例

输出

\a

响铃

print('\a')

\b

退格(Backspace)

print('Pyt \bhon')

Python

\000


print('Py\000thon')

Python

\n

换行

print('Py\nthon')


Py

thon

\v

纵向制表符

print('Py\vthon')


Py

thon

\t

横向制表符

print('Py\tthon')

Py thon

\r

回车

print('Py\rthon')

thon

\f

换页

print('Py\fthon')

Py

thon

\yyy

八进制数,y 代表 0~7 的字符

print("\123")

S

\xyy

十六进制数,以 \x 开头,y 代表的字符

print("\x23")

#

\other

其它的字符以普通格式输出


三、字符串操作

在我们对字符串有了基本的了解以后,接下来可以对字符串做一系列的操作,在这里,你会发现 Python 中字符串的操作极具人性化,不仅仅是简单的字符串的拼接、截取,还可以用类似于数学的方式进行运算。

1. 字符串拼接

字符串拼接主要用两个运算符 + 和 *。
1、运用 * 可以像乘法一样将字符串做乘法运算进行翻倍。举例:3 * “Python”
2、运用 + 可以将两个独立的字符串进行拼接。举例:“Hello” + " World"
3、也可以两个字符串中间什么什么都不加,那这时候解释器会自动拼接这两个单独的字符串,有时候字符串比较长的时候比较好用。举例:“Hello”“World”

print(3 * "Python" + "num")
# 输出: PythonPythonPythonnum

print("Py""thon")
# 输出: Python

a = "Hello"
print(a + " World")
# 输出: HelloWorld

2. 字符串截取

字符串还有一种很多运用的比较多的就是字符串截取,也叫字符串切片,不管是获取字符串中某个子字符串,还是获取某个字符的时候,都需要用到这种方法。

字符串截取主要用到两个运算符 [][:]
1、字符串因为是多个字符组成的,所以可以看做是一组列表,这个时候就可以使用下标取值的方式来获取字符串中单个字符,举例:a = “Python”,a[0]的输出为 P,因为一般编程中下标取值都是从0开始的,除非特别声明从 1 开始。因为下标也可以使用负数,代表从末尾往前开始截取,这时候可以很灵活的在任何想要的地方进行截取,有时候会遇到一串特别长的字符串,如果这时候需要取最后几个字符,则可以使用从字符串末尾开始截取,并且截取的字符串也可以和正常的字符串进行拼接。

下标参考 >>>
 +---+---+---+---+---+---+
 | P | y | t | h | o | n |
 +---+---+---+---+---+---+
 0   1   2   3   4   5   6
-6  -5  -4  -3  -2  -1
a = "Python"

# 获取下标为2的字符
print(a[2])

# 获取下标为-2的字符
print(a[-2])

# 获取下标为2的字符并拼接
print(a[2] + " Hello World")

# 输出:
t
o
t Hello World

2、字符串也可以使用[:] 截取中间某一段字符,和上面的截取其实是一样的,只不过可以单独截取中间某一串内容,相比较一次性截取一大段的,这种对位置的判断更加的灵活。

a = "Python"

# 截取 0 ~ 2 下标的字符串(2下标的不包含在内)
print(a[:2])

# 截取 0 ~ 2 下标的字符串(2下标的不包含在内)
print(a[0:2])

# 截取 3到字符串最后 下标的字符串
print(a[3:])

# 截取 从末尾数下标为2到字符串最后 位置的字符串(-2下标的不包含在内)
print(a[-2:])

# 截取 从 0 ~ -2 下标的字符串(-2下标的不包含在内)
print(a[:-2])

# 截取字符串并进行拼接
print(a[-2:] + " Hello World")

# 输出:
Py
Py
hon
on
Pyth
on Hello World

3、当然有下标就有可能会有超出下标的情况,这个时候就会遇到经典的 下标越界错误。
下面以 Python 字符串来举例,因为这个字符串只有6个字符,所以临界的下标应该是 5,这个时候如果我下标填 9,就会报下标越界错误。

a = "Python"
print(a[9])

# 输出:
IndexError: string index out of range

四、总结

这边对 Python 字符串做了简单的介绍,以及如果对字符串做相对应的操作,还有字符串中转义字符的一些简单用法。之后我们会遇到各种操作字符串的场景,字符串截取的功能会在各种情况下出现,所以这边有需要可以详细的了解一下。

当然,这边只是简单的提及了字符串的操作,之后会专门的文章来介绍 Python 字符串格式化的内容。