Python3 字符串数据类型

专栏地址:最强 Python3 基础

公众号:Python 生产力



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
\000print('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 字符串格式化的内容。


Python 生产力

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

瞎叨叨的一天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值