四种引号
单引号 `'` 和双引号 `"`,三个单引号,三个双引号
字符串中的换行符号
反斜杠 `\` 的字符,叫做**转义序列**
`\n` 代表:换行
在字符串后面使用 反斜杠 `\` 来排除后面的换行。
其他的转义序列
print("双引号:\"")
print("反斜线:\\")
print("换\n行")
print("这个是\t制\t表\t符\n也叫\t跳\t格\t键")
转义序列只作为一个字符存在
s = "D\\a\"t\ta"
print("s =", s)
print("\ns 的长度为:", len(s))
repr() vs. print()
s1 = "Data\tWhale"
s2 = "Data Whale"
print("s1:", s1)
print("s2:", s2)
s1 == s2
print(repr(s1))
print(repr(s2))
一些字符串常量
一些字符串的运算
`in` 运算(超级好用!)
print("ring" in "strings") # True
print("wow" in "amazing!") # False
print("Yes" in "yes!") # False
print("" in "No way!") # True
print("聪明" in "聪明办法学 Python") # True
符串索引和切片
s = "Datawhale"
print(s)
print(s[0])
print(s[1])
print(s[2])
print(s[3])
len(s)
print(s[len(s)-1])
print(s[len(s)]) # IndexError: string index out of range
负数索引
print(s)
print(s[-5])
print(s[-4])
print(s[-3])
print(s[-2])
print(s[-1])
用切片来获取字符串的一部分
print(s[0:2])
print(s[2:4])
print(s[5:7])
print(s[7:9])
切片的默认参数
print(s[:4])
print(s[4:])
print(s[:])
切片的第三个参数 `step`
print(s[:9:3])
print(s[1:4:2])
翻转字符串
# 实在是太优雅辣
def reverseString(s):
return s[::-1]
print(reverseString(s))
字符串的循环
for i in range(len(s)):
print(i, s[i])
for c in s:
print(c)
for idx, c in enumerate(s):
print(idx, c)
`zip(a, b)` 可以在一次循环中,分别从 `a` 和 `b` 里同时取出一个元素
for a, b in zip(s, reverseString(s)):
print(a, b)
用 `split()` 来循环
# class_name.split() 本身会产生一个新的叫做“列表”的东西,但是它不存储任何内容
class_name = "learn python the smart way 2nd edition"
for word in class_name.split():
print(word)
用 `splitlines()` 来循环
# 跟上面一样,class_info.splitlines() 也会产生一个列表,但不存储任何内容
class_info = """\
聪明办法学 Python 第二版是 Datawhale 基于第一版教程的一次大幅更新。我们尝试在教程中融入更多计算机科学与人工智能相关的内容,制作“面向人工智能的 Python 专项教程”。
我们的课程简称为 P2S,有两个含义:
Learn Python The Smart Way V2,“聪明办法学 Python 第二版”的缩写。
Prepare To Be Smart, 我们希望同学们学习这个教程后能学习到聪明的办法,从容的迈入人工智能的后续学习。
"""
for line in class_info.splitlines():
if (line.startswith("Prepare To Be Smart")):
print(line)