0 引子
这是一篇基础复习文档, 在写 python 脚本的时候, 确实感觉到 python 基础不扎实导致代码在运行时, 老是出现一些基础性的错误。因此决定接下来的一段时间对 python 的基础知识进行学习和巩固。
注意: 由于 python2 将会在不久之后失去支持, 官方也更推荐学 python3, 因此以下所有的知识点都是在 python3 上进行实践与学习。以下的 python 都可以默认为是 python3, 如果提到 python2 我会表明是 python2。
python 的标准数据类型包括:数字、字符串、列表、元组、集合和字典。
1 数字
python 支持 int、float、bool、complex 四种数字类型。
在 python 中不分整形与长整形, 统一都用 int 类型。最常用的是前面三种, 最后一种复数型数据, 应用最广泛的应该是在计算领域应用的比较广泛。做应用或者脚本接触的比较少。
python 中支持同时为多个变量赋值, 如 a,b = 1,2。
python 中的除法有两种, 第一种运算符是「/」,返回的结果是一个浮点类型的数据,第二种是「//」返回的结果是一个整数。具体的可以通过一个例子来学习。
# 第一种以 / 作为运算符, 结果是浮点数
print("以 / 作为运算符")
print(10/3)
运行结果:3.3333333333333335
# 第二种以 // 作为运算符, 结果是整数
print("以 // 作为运算符")
print(10//3)
运行结果:3
bool 只有 True 和 False 两种值, 在 python 中可以直接用 True 和 False 表示 bool, 也可以使用运算计算出来
print(True)
print(False)
print(1>3)
print(3>1)
以上都是正确的 bool 表达。python 中 bool 支持 and、or 和 not 运算。
and 就是与运算, 必须全部为 True, 结果才是 True。
or 就是或运算, 只要有一个为 True, 结果就是 True。
not 是非运算, 最终得到相反的结果。
2 字符串
python 中字符串有两种表示方式, 第一种以「'」括起来, 第二种以 「"」括起来。这两种字符串的表示方式严格来说并没有什么不同, 只是当字符串中出现「'」或「"」时, 需要转义的字符不同而已。例如
print('I'm "OK"')
print("I'm "OK"")
这两句最终运行的结果都是 I'm "OK", 但是以「"」表示, 那么 OK 附近的字符则需要转义, 而以「'」表示则是 I 附近的字符需要转义。
在字符串若需要显示特殊字符则需要加上「」转义, 除了这种方式以外, 还可以通过「r''」的方式, 第二种表达方式表示字符串内所有内容都为普通字符, 直接显示即可。例如
ptint('n')
print(r'n')
第一种结果是换行, 第二种则是直接将「n」显示出来。
在 python 中进行字符串的截取是非常方便的,只需要指定截取的头的未知与尾的位置就可以完成截取。
str = "Hello World!"
print(str[1:3])
print(str[1:-3])
print(str[-2:-1])
print(str + "Test")
结果
el
ello Wor
d
Hello World!Test
python 中截取字符串非常有趣, 你可以顺着截取, 也可以逆着截取, 这里的顺与逆指的都是索引的顺序。例如我的第一个例子就是顺着索引, 第一个字符是 0, 截取的是 1 到 3 之间的字符。在截取字符串的时候, 尾部的字符是不会被截取到的。第三个例子则是逆着索引, 当正数表示顺着字符串读取时, 那么负数则是从字符串尾部开始数, -1 表示的就是最后一个字符, 那么截取的则是倒数第二个字符串。正数和倒数还可以同时存在, 例如第二个例子, 就是从 1 截取到倒数第三个字符。
python 中字符串的多行显示可以用「'''」括起来, 例如
# 多行内容
print('''1.第一行
2.第二行
3.第三行''')
python 中的字符串是不能改变的, 例如上面例子中 str 变量的内容是「Hello World!」。那么str[0]赋值则会报错。