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

image

人生苦短,我选Python

引言

前文传送门

小白学 Python(1):开篇

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

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

什么是字符串?

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

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

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

image

示例如下:

print('www.geekdigging.com')

// 输出结果:www.geekdigging.com

print("www.geekdigging.com")

// 输出结果:www.geekdigging.com

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

print('小明说:"吃了吗?"')

// 输出结果:小明说:"吃了吗?"

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

image

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

print("小明说:\"吃了吗?\"")

// 输出结果:小明说:"吃了吗?"

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

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

打印结果如图:

image

转义

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

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

转义字符 描述
(在行尾时) 续行符
\ 反斜杠符号
' 单引号
" 双引号
\a 响铃
\b 退格(Backspace)
\000
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\oyy 八进制数,yy 代表的字符,例如:\o12 代表换行,其中 o 是字母,不是数字 0。
\xyy 十六进制数,yy代表的字符,例如:\x0a代表换行
\other 其它的字符以普通格式输出
image

\n 换行:

print('I \nlike Python!')
image

\t 横向制表符

print('I\tlike\tPython!')
image

那么随之而来的一个问题是,如果这个字符串中真的是想打印 \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

示例代码-Gitee

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343