- 本文由学习所作思维导图转换而来
- 思维导图下载链接 密码:vhm66n
基本语法元素
格式框架
缩进表达程序的格式框架
- 严格明确,缩进是语言的一部分,缩进不正确程序运行错误
- 所属关系,表达代码间包含和层次关系的唯一手段
- 长度一致,程序内一致即可,一般用4个空格或1个tab
注释
#
开头,单行注释'''
多行注释
命名与保留字
变量
- 用于保存和表示数据的占位符号
命名
关联标识符的过程
- 命名规则,大小写字母,数字,下划线和汉字等字符及组合
- 注意事项:大小写敏感,首字符不能是数字,不与保留字相同
保留字
- 被编程语言内部定义并保留使用的标识符(33个)
数据类型
- 供计算机程序理解的数据形式
语句与函数
赋值语句
- 由赋值符号构成的一行代码
分支语句
- 由判断方向运行程序运行方向的语句
函数
- 根据输入参数产生不同输出的功能过程
输入与输出
输入函数input()
<变量>=input(<提示信息字符串>)
输出函数print()
print
(<拟输出字符串和字符串变量>){}
->槽,{:.2f}
表示填充时取小数后两位
评估函数eval()
- 去掉参数最外侧引号并执行余下语句的函数
基本图形绘制
turtle的使用
turtle的绘图窗体
turtle.setup(width,height,startx,starty)
turtle空间坐标体系
绝对坐标
turtle.goto(x,y)
海龟坐标
turtle.circle(r,angle)
turtle.fd(d)
turtle.bk(d)
turtle角度坐标体系
绝对角度
turtle.seth(angle)
- seth()改变海龟行进方向
- seth()只改变方向但不行进
- angle为角度
海龟角度
turtle.left(angle)
turtle.right(angle)
turtle的RGB色彩模式
默认采用小数值,可切换为整数值
turtle.colormode(mode)
- 1.0小数值模式
- 255整数值模式
导入
import<函数名>
<库名>.<函数名>(<函数参数>)
- 不会出现函数重名问题
from<库名>import<函数名>/from<库名>import *
- <函数名>(<函数参数>)
import<库名> as <库别名>
- <库别名>.<函数名>(<函数参数>)
turtle画笔控制函数
turtle.penup()
别名turtle.pu()
画笔抬起,不形成图案turtle.pendown()
别名turtle.pd()
画笔落下,形成图案turtle.pensize(width)
别名turtle.width(width)
画笔宽度turtle.pencolor(color)
画笔颜色
turtle运动控制函数
turtle.forward(d)
别名 turtle.fd(d)直线turtle.circle(r,extent=None)
曲线
turtle方向控制函数
turtle.setheading(angle)
别名turtle.seth(angle)
绝对角度turtle.left(angle)
左转turtle.right(angle)
右转
基本数据类型
整数类型
- 十进制
- 二进制:以0b或0B开头
- 八进制:以0o或0O开头
- 十六进制:以0x或0X开头
浮点数类型
- -10^308-10^308
- 不确定尾数,round()函数辅助比较大小
<a>e<b>
,表示a*10^b
复数类型
- a+bj
数值运算操作符
+,-,*,/(产生浮点数结果),//(整数除)
+x(x本身),-y(y负值),x%y(余数),x**y(幂运算)
x op = y
数据类型逐渐变宽
数值运算函数
- abs(x)绝对值
- divmod(x,y)商余操作,输出商和余数
- pow(x,y[,z])幂余
- round(x[,d])四舍五入,d是保留小数位数
- max(x1,x2…,xn)最大值
- min(x1,x2,…xn)最小值
- int(x)变整
- float(x)变为小数
字符串类型及操作
2类共四种表达方式
','','''
- 多行
- 单行
序号
- 正向递增序号,0开始
- 方向递减序号,-1开始
切片高级用法
<字符串>[M:N],m缺失表示至开头,n缺失表示至表尾
<字符串>[M:N:K],根据步长对字符串切片
- [::-1]字符串取反
转义符\
- 表达特定字符的本意
字符串操作符
x+y
- 连接字符串x和y
nx或xn
- 复制n次字符串x
x in s
- 如果x是s的字串,返回True,否则返回False
字符串处理函数
len(x)
- 返回字符串的长度
str(x)
- 任意类型x所对应的字符串形式
hex(x)或oct(x)
- 十六进制或八进制形式字符串
chr(u)
- u为Unicode编码,返回其对应的字符
ord(x)
- x为字符,返回其对应的Unicode编码
字符串处理方法
str.lower()或str.upper()
- 返回字符串的副本,全小写/大写
str.split(sep=None)
- 返回一个列表,有sep分割
str.count(sub)
- 返回子串sub在str中出现的次数
str.replace(old,new)
- 返回副本,所有old被替换为new
str.center(width,[.fillchar])
- 根据宽度居中,fillchar可选
str.strip(chars)
- 从str中去掉在其左侧和右侧chars中列出的字符
str.join(iter)
- 在iter变量除最后元素外每个元素后增加一个str
字符串类型的格式化
{}槽
{<参数序号>:<格式控制标记>}
- 填充,对齐(<左对齐,>右对齐,^居中对齐),宽度
- <,>(数字的千位分隔符),<.精度>,<类型>
time库的使用
获取时间
time()
- 获取当前时间的时间戳,浮点数形式
ctime()
- 获取当前时间的易读方式
gmtime()
- 获取当前时间,表示为计算机可处理的时间格式
时间格式化
strftime(tpl,ts)
- tpl是格式化模板字符串,用来定义输出效果,ts是计算机内部时间类型变量
strptime(str,tpl)
- 字符串转为为可以处理的时间
程序计时
测量时间
- perf_counter()
产生时间
sleep(s)
- 休眠时间,s可以是浮点数
程序的控制结构
程序的分支结构
单分支结构
- if:
二分支结构
- if:else:
- 紧凑形式:适用于简单表达式的二分之结构
- <表达式1>if<条件>else<表达式2>
多分支结构
- if:elif:else:
条件判断及组合
- and(逻辑与),or(逻辑或),not(逻辑非)
异常处理
- try: except:
- try: except: else: finally:
程序的循环结构
遍历循环
for <循环变量> in <遍历结构>: <语句块>
- 计数循环
- 字符串遍历循环
- 列表遍历循环
- 文件遍历循环
无限循环
- while <条件>: <语句块>
循环控制保留字
- break,continue
循环的扩展
循环语句后加else:
- 没有退出即执行else语句块
random库的使用
- seed(a=None)初始化给定的随机数种子,默认为系统时间
- random()生成一个(0.0,1.0)之间的随机小数
- randint(a,b)生成a,b之间的整数
- randrange(m,n[,k])生成一个[m,n]之间以k为步长的随机整数
- getrandbits(k)生成一个k比特长的随机整数
- uniform(a,b)生成一个[a,b]之间的随机小数
- choice(seq)从序列seq中随机选择一个元素
- shuffle(seq)将序列seq中元素随机排序,并返回打乱后的序列