故事背景:
两年前 python 做过一个爬当当电子书脚本,时间太久忘差不多了,现在还想爬书,索性先把 python 基础语法再过一遍。顺便做些笔记。(学习过程中目标驱动很重要,没有目标泛泛的看书没劲,有个小目标又不仅仅为了满足目标,才是比较好的学习方式)
学习材料:
https://www.runoob.com/python3/python3-tutorial.html
安装:
windows 下解释器安装:https://www.python.org/downloads/windows/
IDE 安装:https://www.jetbrains.com/pycharm/download/#section=windows (安装社区版)
学习总结 & 关键点 :(以 python3 为准,不阐述两个版本差异)
- python 文件以 utf-8 保存。
- 标识符规则跟 C语言 一样,( python3 中可以用中文,最好别用 注意 下划线 开头或结尾的一些,有含义)
- 单行注释用 # 多行注释用 三引号
- 用缩进代表 代码块
- 变量弱类型,无需事先定义( 脚本的惯例 )
- 字符串用 r 不会被转义,例如:r"\r\r\n\n"
- 下标可用负数,适用于字符串、列表、元组
- 重复运算符号 * 例如:"abc" * 2
- 输入提示:
txt = input("input something\n")
- 输出:
print("aaa") print("aaa", end="") # 不换行输出
- 获取命令行参数:
print(sys.argv)
- 输出 path:
print(sys.path)
- 基本数据类型:
不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)
- 获取类型:
type("abc")
- 判断类型:
isinstance('33', str)
- 删除变量:
del var
- 特别的运算符:
print(-5 // 2) # -3 除法,向下取整
海象运算符,解决表达式内赋值问题
if markResult := marchMark(imgLoadFailMark):
print("imgLoadFailMark", markResult)
乘方:
print(2 ** 5)
- is 判断 (判断是否是同一个对象,而不是判断值)
if (a is b): print("one obj")