小白学 Python(3):基础数据类型(下)_python

小白学 Python(3):基础数据类型(下)_python_02

人生苦短,我选Python

引言

前文传送门

​小白学 Python(1):​​​​开篇​

​小白学 Python(2):​​​​基础数据类型(上)​

前面我们介绍过了数字,本篇我们接着聊另一个常用的基础数据类型:字符串。

什么是字符串?

字符串是由字符组成的一串有限序列,如:'geekdigging' 、 "geekdigging" ,当然,符号也是可以的,如:'https://www.geekdigging.com/' 、 "https://www.geekdigging.com/" 。

注意: '' 或者 "" 表示的是空字符串,空字符串和 null 是不一样的。

字符串外面的包裹可以是单引号,也可以是双引号,需要注意的是单引号和双引号一定是成对出现的,不可混合使用,如果你一定要混合使用的话,PyCharm 会报语法错误的,红色的波浪线你看到会倍感亲切。

小白学 Python(3):基础数据类型(下)_双引号_03

示例如下:

print('www.geekdigging.com')
// 输出结果:www.geekdigging.com
print("www.geekdigging.com")
// 输出结果:www.geekdigging.com


当然,也会有混合使用的时候,如果小明说了一句话,这句话的内容中含有双引号怎么办,示例如下:

print('小明说:"吃了吗?"')
// 输出结果:小明说:"吃了吗?"


上面的示例外部使用的是单引号,如果在外面也使用双引号怎么办,会报错的啊:

小白学 Python(3):基础数据类型(下)_示例代码_04

不要担心, Python 肯定考虑到这一点了,因为 Python 识别程序是从左向右识别的,所以我们中间的一段内容 ​​吃了吗?​​ 会因为没有双引号的包裹而导致了报错。我们可以使用转义符号 ​​\​​ 来告诉 Python 中间的双引号并不是代表字符串的符号,是我们想要打印的符号,示例代码如下:

print("小明说:\"吃了吗?\"")
// 输出结果:小明说:"吃了吗?"


还可以使用连续三个单引号或者双引号,它可以使得中间被包裹起来的一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符,示例如下:

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


打印结果如图:

小白学 Python(3):基础数据类型(下)_示例代码_05

转义

从字面意思理解转义就是转换含义,通俗来讲就是含义变了。

具体 Python 支持的转义字符如下表:

转义字符

描述

\(在行尾时)

续行符

\\

反斜杠符号

\'

单引号

\"

双引号

\a

响铃

\b

退格(Backspace)

\000

\n

换行

\v

纵向制表符

\t

横向制表符

\r

回车

\f

换页

\oyy

八进制数,yy 代表的字符,例如:\o12 代表换行,其中 o 是字母,不是数字 0。

\xyy

十六进制数,yy代表的字符,例如:\x0a代表换行

\other

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

小白学 Python(3):基础数据类型(下)_单引号_06

​\n​​ 换行:

print('I \nlike Python!')


小白学 Python(3):基础数据类型(下)_python_07

​\t​​ 横向制表符

print('I\tlike\tPython!')


小白学 Python(3):基础数据类型(下)_python_08

那么随之而来的一个问题是,如果这个字符串中真的是想打印 ​​\t​​ ,而并不是把它当做一个横向制表符该怎么办呢?有两种解决方案,示例如下:

print("横向制表符:\\t")// 输出结果:横向制表符:\t
print(r"横向制表符:\t")// 输出结果:横向制表符:\t


  • 第一种是在转义符号前面再加一个转义符号 \ ,负负得正。
  • 第二种是在这个字符串的外面加一个 r (大小写均可)。

常用方法

获取字符串长度:

获取字符串长度 Python 为我们提供了一个 ​​len()​​ 的方法,示例如下:

print(len('I like Python!'))// 输出结果:14
print(len('I like 小明!'))// 输出结果:10
print(len(''))// 输出结果:0
print(len(' '))// 输出结果:1
print(len("\n"))// 输出结果:1


  • 中文,字母,数字,符号都是占一个长度。
  • 字符串中的空格也是占长度的。
  • 空字符串的长度为0

字符串拼接

字符串拼接可以使用符号 ​​+​​ ,示例如下:

a = "Hello"b = "Python"
print("a + b 输出结果:", a + " " + b)// a + b 输出结果:Hello Python


重复输出字符串

字符串拼接可以使用符号 ​​*​​ ,示例如下:

print("a * 2 输出结果:", a * 2)// a * 2 输出结果:HelloHello


通过索引获取字符串中字符

如果把字符串中的每个字符看做在排队的话,那么索引就是这个字符的位置,第一个字符的索引为 0 ,示例如下:

print("a[1] 输出结果:", a[1])// a[1] 输出结果:e


截取字符串

在 Java 中,截取字符串给了一个方法是 ​​substring​​ ,而在 Python 中则直接使用 ​​[:]​​ 这个表达式即可,遵循左闭右开原则,示例如下:

print("a[1:4] 输出结果:", a[1:4])// a[1:4] 输出结果:ell


包含

成员运算符 ​​in​​ 可以判断一个字符串种是否包含指定的字符串,并返回 true 或者 false 布尔值。示例如下:

if "H" in a:print("H 在变量 a 中")else:print("H 不在变量 a 中")
// H 在变量 a 中


不包含

既然有了包含那一定就会有不包含,不包含的成员运算符是 ​​not in​​ ,返回同样是布尔值。示例如下:

if "M" not in a:print("M 不在变量 a 中")else:print("M 在变量 a 中")
// M 不在变量 a 中


示例代码

本系列的所有代码小编都会放在代码管理仓库 Github 和 Gitee 上,方便大家取用。

示例代码-Github:https://github.com/meteor1993/python-learning/tree/master/base-data-str

示例代码-Gitee:https://gitee.com/inwsy/python-learning/tree/master/base-data-str


END


 

▼更多精彩推荐,请关注我们▼
生活不止眼前的苟且,
还有课本里的诗和到不了的远方