1 起步
1.1 搭建环境
1.1.1 Python 版本选择
建议选3.6以上,python2的编码非常混乱
1.1.2 安装包下载
建议直接在官网下载,比如,2021/11/27最新的版本是3.10.0, https://www.python.org/downloads/release/python-3100/ 网页下的 Windows installer (64-bit) 链接
特别说明的,有很多管理python和其依赖库的平台,如anaconda,不过对于初学者,其实不需要一步到位,很多时候用一个稳定的官方版本足够应付大多数情况。
1.1.3 一些可能用的上的相关软件
- Sublime Text
一款文本编辑器,可以执行程序,适合初学者 - PyCharm 社区版
不需要用专业版,社区办能应对大部分任务
1.2 在不同操作系统上安装环境
1.2.1 windows
- 检查一下系统是否已经安装了python
打开cmd,输入python - 安装Sublime Text
1.2.2 macOS
1.2.3 Linux
1.3 运行helloworld程序
主要是使用sublime text,还比较轻量级,但是编译貌似有点慢
2 变量和简单数据类型
2.1 运行
2.2 变量
2.2.1 变量的命名和使用
2.3字符串
2.3.1 str的方法来改变大小写
2.3.2 字符串能量
有另外一种格式化方式 f"{a} {b} {c}" ,等价于"{} {} {}".format(a, b, c) 等价于"%d %d %d" % (a, b, c)
2.3.3 制表符
2.3.4 删除空白
str.lstrip()
str.rstrip()
str.strip()
2.4 数
x = 2 ** 5 # 乘方为**
x = 1000_0000 # 可以通过下划线将数字分组, 等价于x = 10000000
x, y, z = 0, 0, 0 #可以同时给多个变量赋值比如
2.5 python之禅
3 列表
3.1 列表是什么
3.1.1 访问列表元素
3.1.2 索引从0开始, -1代表逆序第一个
3.1.3 使用列表中的各个值
3.2 列表元素的增删改
3.2.1 修改
list[idx] = new_value
3.2.2 增加
list.append(value) # 末尾增加一个value
list.insert(idx, value) 在索引idx处增加value,新value的索引为idx,原>=idx的value,idx++
list.expend(list) # 增加列表
3.2.3 删除
del list[idx]
last_value = list.pop() # 一般用于取并删除最后一个元素
idx_value = list.pop(idx) # 取并删除索引为idx的元素
list.remove(value) # 删除特定值的元素,注意,这只会删除第一个该值的元素
3.3 组织列表
3.3.1 永久排序
list.sort(reverse=False) # list将被永久排序
3.3.2 临时排序
list_sorted = sorted(list)
3.3.3 逆序
list.reverse()
3.3.4 列表长度
len(list)
4 操作列表
4.1遍历和for循环
for item in item_list:
print(item)
4.2 缩进
4.3 创建数值列表
4.3.1 range
for i in range(1,6): # range的右侧是<,而非<=, 本例中不包含6
print(i)
4.3.2 用range产生list
start = 1
end = 11
step = 2
lst = list(range(start, end, step)) # 等价于for(i=start; i<end; i+=step)
print(lst)
4.3.3 列表统计
lst = [0, 1, 2, 3, 5, 5, 5, 9, 9]
max_num = max(lst) # 列表中的最大值
min_num = min(lst) # 列表中的最小值
sum_num = sum(lst) # 列表求和
value_count = lst.count(5) # 列表中数字5出现的次数,返回3
value_idx = lst.index(5) # 列表中数字5第一次出现的位置,返回4
value_count = lst.count(7) # 列表中数字7出现的次数,返回0
value_idx = lst.index(7) # 列表中数字7第一次出现的位置,报错
4.4 使用列表的一部分
4.4.1 切片
stars = ['yangchaoyue', 'liuyifei', 'tongliya', 'zhouxingchi', 'wujing']
print(stars[0:3]) #同 idx = 0; idx < 3; idx++
print(stars[:3]) #同 idx = 0; idx < 3; idx++
print(stars[2:]) #同 idx = 2; idx < len(lst); idx++
print(stars[-2:]) #最后2个, idx=len(lst)-2; idx<len(lst); idx++
4.4.2 遍历切片
4.4.3 复制列表
stars = ['yangchaoyue', 'liuyifei', 'tongliya', 'zhouxingchi', 'wujing']
stars_ptr = stars # 引用
stars_copy = stars[:] # 复制
stars.append('shenteng') # 修改了stars的内容
print(stars)
print(stars_ptr) # 引用
print(stars_copy) # 复制
4.5 元组
可以理解成不可写的列表
dimensions = (720, 480, 3)
print(dimensions)
print(dimensions[2])
for dim in dimensions:
print(dim)
4.6 设置代码格式
PIP8指南
易于阅读>易于编写
缩进用空格替代
行长小于80字符,注释行小于72字符