-
布尔值与空值
-
布尔值:
-
一个布尔值只有True、False两种值
-
-
空值:
-
是python里一个特殊的值,用None表示。None不能理解为0。因为0是有意义的,而None是一个特殊值。
-
-
-
list(列表)
-
本质:一种有序的集合
-
-
创建列表
-
格式: 列表名= [列表选项1,列表选项2,列表选项3.....列表选项n]
-
创建了一个空列表
-
list1 = []
-
-
创建带有元素的列表
-
list2 = [18,19,20,21,22, "shaoge" , "good" , True]
-
列表中的元素数据可以是不同类型的
-
-
-
列表元素的访问
-
注意不要越界(下标超出了可表示的范围)
-
取值
-
-
格式
-
列表名[下标] 下标从0开始
-
-
替换
-
list2[2] = 300 将19替换成了300
-
-
列表操作
-
列表组合
-
list5 = [1,2,3]
-
list6 = [4,5,6]
-
list7 = list5+list6
-
-
列表的重复
-
list8 = [1,2,3]
-
print(list8*3)
-
-
判断元素是否在列表中
-
print(3 in list5)
-
-
列表截取
-
list10 = [1,2,3,4,5,6,7,8,9]
-
print(list10[3:10]) 拿出下标 3 到10的元素数据
-
-
二维列表
-
list11 = [ [1,2,3],[4,5,6],[7,8,9] ]
-
取值
-
list11[1] [1] 值为5
-
-
-
三维列表和多维列表
-
按照二维列表依次叠加
-
-
-
列表方法
-
list.append() 在列表中末尾添加新的元素
-
-
list12 = [1,2,3,4,5]
-
list12.append(6) //添加一个元素
-
-
list12.append([7,8,9]) //添加一个列表 ,list12就变成了二维列表
-
list.extend() 在末尾一次性追加另一个列表中的多个值
-
list13 = [1,2,3,4,5]
-
list13.extend([6,7,8]) //追加 6,7,8 但还是一维列表
-
-
list.insert(i,b)
-
在下标处添加一个元素,不覆盖原数据,原数据向后顺延 ,i 为下标,b为元素
-
list14 = [1,2,3,4,5]
-
list14.insert(2,100) //结果为 1,2,100,3,4,5
-
-
list.pop(x)
-
x 为想要删除元素的下标 x默认为列表最后一个下标
-
移除列表中指定下标处的元素(默认是移除最后一个元素),返回值为删除的数据
-
list15 = [1,2,3,4,5]
-
list15.pop()
-
-
list.remove(x)
-
移除列表中的某个元素第一个匹配的结果
-
x为要移除的元素
-
list16 = [1,2,3,4,5]
-
list16.remove(4)
-
-
list.clear()
-
清除列表中所有的数据
-
list17 = [1,2,3,4,5]
-
list17.clear()
-
-
list.index(x)
-
从列表中找出某个值第一个匹配的索引值
-
x 为要查找的元素
-
list18 = [1,2,3,4,5]
-
index18 = list18.index(3)
-
-
len(list18) 获取列表的长度
-
max(list18) 获取列表的最大值
-
min(list18) 获取列表的最小值
-
list.count(x) 查看x元素在列表中出现的次数
-
list.reverse()
-
倒序
-
list25 = [1,2,3,4,5]
-
list25.reverse() //结果为 5 ,4 ,3 ,2 ,1
-
-
list.sort()
-
默认为升序排序,
-
list26 = [1,5,3,2,4]
-
list26.sort()
-
-
拷贝(浅拷贝)
-
浅拷贝(引用拷贝)
-
1ist27 = [1,2,3,4,5]
-
list28 = list27;
-
list28[1] = 200 list27的第1个元素为变为200了
-
-
list.copy()
-
深拷贝 内存的拷贝
-
list29 = [1,2,3,4,5]
-
list30 = list29.copy()
-
list30[1] = 200 list29的第一个元素没有改变
-
-
list31 = list((1,2,3,4))
-
将元组转成列表
-
-
判断列表中每个元素的个数
-
导入 import collections
-
d = collections.Counter(list) list为列表存放的元素
-
for k in d:
-
k 是list中的每个元素
-
d[k] 是k在list中出现的次数
-
-
-
-
条件控制语句
-
if-elif-else 语句
-
格式
-
if 表达式1:
-
语句1
-
elif 表达式2:
-
语句2
-
elif 表达式3:
-
语句2
-
......
-
elif 表达式n:
-
语句n
-
else: # 可有可无
-
语句e
-
-
逻辑
-
当程序执行到 if - elif - else 语句时,首先计算 "表达式1"的值,如果“表达式1”的值为真,则执行“语句1”,执行完"语句1",则跳过整个if-elif - else语句,如果"表达式1"的值为假,计算"表达式2的值"。如果“表达式2”的值为真,则执行“语句2”,执行完"语句2",则跳过整个if-elif - else语句,如果"表达式2"的值为假,计算"表达式3的值"。如此下去直到某个表达式的值为真才停止,如果没有一个真的表达式,且有else,则执行"语句e"
-
每个elif都是对它上面所有表达式的否定
-
-
-
循环语句
-
死循环
-
表达式永远为真的循环
-
-
while语句加else语句
-
格式
-
while 表达式:
-
语句1
-
else:
-
语句2
-
-
逻辑
-
在条件语句(表达式)为False时执行else中的“语句2”
-
-
-
for语句
-
格式
-
for 变量名 in 集合:
-
语句
-
-
逻辑:
-
按顺序取 “集合” 中的每个元素赋值给 “变量”,再去执行语句。如此循环往复,直到取完”集合“中的元素截止
-
-
配合 range(start,end,step)函数使用 列表生成器
-
功能: 生成数列
-
start(起始站) 默认为0
-
end(终点)
-
step(步长)默认为1
-
-
同时遍历下标和元素
-
for index,m in enumerate([1,2,3,4,5]) #index,m = 下标,元素
-
-
break语句
-
作用:跳出for和while 循环
-
注意: 只能跳出距离他最近的那一层循环
-
-
注意:循环语句可以有else语句,break导致循环截止,不会执行else下面的语句
-
continue语句
-
作用:跳过当前循环中的剩余语句,然后继续下一次循环
-
注意:跳过距离最近的循环
-
-
-
-
turtle模块绘图
-
是一个简单的绘图工具
-
提供一个小海龟,可以把它理解为一个机器人,只能听得懂有限的命令
-
导入 turtle库
-
import turtle
-
-
绘图窗口的原点(0,0)在正中间,默认海龟的方向是右测
-
方法分为三种
-
运动命令
-
turtle.forward(d) 向前移动d长度
-
turtle.backward(d) 向后移动d长度
-
turtle.right(d) 向右转动45度
-
turtle.left(d) 向左转动45度
-
turtle.goto(x,y) 移动到坐标为(x,y)位置
-
turtle.speed(speed) 笔画绘制的速度[0,10]
-
-
笔画控制命令
-
turtle.up() 笔画抬起,在移动的时候不会绘图
-
turtle.down() 笔画落下,移动会绘图
-
turtle.setheading(d) 改变海龟的朝向 d为多少度
-
turtle.pensize(d) 改变笔画的宽度
-
turtle.pencolor(colorstr) 笔画颜色 colorstr为字符串
-
turtle.reset() 恢复所有设置,情况窗口,重置turtle状态 回到原点(0,0)
-
turtle.clear() 清空窗口,不会重置turtle状态 不会回到原点
-
turtle.circle(r, steps=e) 绘制一个圆形,r为半径,e为次数
-
填充
-
turtle.begin_fill() 开始填充
-
turtle.fillcolor(colorstr) 填充颜色 colorstr为字符串
-
turtle.circle(r) 将圆填充为colorstr的颜色
-
turtle.end_fill() 结束填充
-
-
-
其他命令
-
turtle.done() 程序继续执行
-
turtle.undo() 撤销上一次动作
-
turtle.hideturtle() 隐藏海龟
-
turtle.showturtle() 显示海龟
-
turtle.screensize(x,y)
-
-
-