缩进
-
缩进是python语法的一部分,因此不能像C语言一般随便缩进
-
表达代码间包含和层次关系的唯一手段
-
缩进长度要一致,一般为四个空格或一个tab
注释
-
单行注释:以#开头
-
多行注释:以'''开头和结尾
变量
-
用来保存和表示数据的占位符号
-
命名规则:大小写字母、数字、下划线和汉字等字符及组合
-
注意:首字符不可为数字、不与保留字相同(保留字:被编程语言内部定义并保留使用的标识符)
字符串
-
字符串由一对单引号或一对双引号表示,并且单引号与双引号意义相同
-
字符串是字符的有序序列,可对其中字符进行索引
-
字符串有正向递增序号和反向递减序号: 正向递增为从左往右,最左边的字符为第0个,依次递加;反向递减为从右往左,最右边的为-1,依次递减
字符串的使用
使用[]获取字符串中一个或多个字符
-
索引:返回字符串中单个字符 <字符串>[M]
例如:"请输入带有符号的温度值:"[0],或者 变量名[0]例:a[-1]
-
切片:返回字符串中一段字符子串 <字符串>[M:N]
例如:"请输入带有符号的温度值:"[1:3],返回1和2上的字符,即“输入”
或者 变量名[0:-1]
数字类型
整数,浮点数
列表类型:有0个或多个数据组成的有序序列,使用p[]表示,采用逗号分离各元素
例:['F','f']表示两个元素'F'和'f'
可以使用保留字in判断一个元素是否在列表中
例如:a[-1] in['C','c']判断a中最后一个字符是不是C或c,若满足条件则返回true,否则返回false
赋值语句
-
赋值语句用来给变量赋予新的数据值
-
赋值语句右侧数据类型同时作用于变量。例:a=input("") input返回一个字符串,并且a也是字符串
分支语句
-
由判断条件决定程序运行方向的语句
-
使用保留字if,elif,else构成条件判断的分支结构。例:if a[-1] in['F','f']:
若if后面语句返回true,则执行冒号后面的语句,否则跳过冒号后语句
注:冒号是语法的一部分,冒号及后续缩进用来表示后续语句与条件的所属关系
函数
-
根据输入参数产生不同输出的功能过程
-
函数形式为<函数名>(参数)例:eval(a[0:-1]),其中a[0:-1]为参数
输入与输出
输入
-
一般用input从控制台获得用户的输入信息
-
input()函数使用格式:
变量=input(提示信息字符串),例:a=input("请输入"),其中”请输入“会被打印出来
-
用户输入信息会以字符串类型保存在变量中
输出
-
print()以字符形式向控制台输出结果
-
print(拟输出的字符串或字符串变量)
print()函数的格式化:
print("转化后的温度是{:.2f}C".format(c)) 这个代码表示将format函数中的变量c填充到{}中,.2f表示填充变量时取小数点后两位
eval函数(评估函数)
-
去掉函数最外侧引号并执行余下语句的函数,例:eval("1") 经过函数处理可得数字1,而eval("1+2")经处理得数字3
温度转换示例:
# TempConvert.py Temp=input("请输入带符号的温度值:") if Temp[-1] in["F","f"]: C=(eval(Temp[0:-1])-32)/1.8 print("转换后的温度为{:.2f}C".format(C)) elif Temp[-1] in('c','C'): F=1.8*eval(Temp[0:-1])+32 print("转换后的温度为{:.2f}F",format(F)) else print("输入格式错误")
turtle
-
是一种基本的绘图函数库
-
turtle的绘图窗体左上角为坐标系坐标为(startx,starty),而计算机屏幕左上角为原点
-
窗体中的基本单位为像素
-
使用时需import turtle
setup函数
用来设置窗体大小和位置
turtle.setup(width,height,startx,starty)
其中后两个参数可不选。例:turtle.setup(800,400,0,0) turtle.setup(800,400)
goto函数
turtle.goto(x,y)
让任何位置的海龟,无论在哪里,去到达所指定的位置。即从上一个位置到我所指定的位置
例:
import turtle turtle.goto(100,100) turtle.goto(100,-100) turtle.goto(-100,-100)
turtle角度坐标系
turtle.seth(angle):
-
改变海龟行进方向,但不行进,angle为绝对度数
x轴为0度,逆时针递增,顺时针递减
turtle.left(angle)
turtle.right(angle),即向左向右旋转角度,海龟初始值朝向x轴
turtle.fd(d)向前行进,d为像素距离
RGB色彩体系
-
色彩取值范围为0-255整数或者0-1的小数
-
默认采用小数值,可切换为整数
用turtle.colormode(mode)函数更改颜色
import 更多用法
-
使用from和import保留字共同完成
有两种方式:from<库名>import<函数名>
或 from<库名> import*
例如改造是上面代码:
from turtle import* goto(100,100) goto(100,-100) goto(-100,-100)
此方法缺点为可能跟自命名的变量或函数重名
因此有一个最好的方法:
-
使用import和as保留字共同完成
import <库名> as<库别名>
改造以上代码:
import turtle as t t.goto(100,100) t.goto(100,-100) t.goto(-100,-100)
turtle 画笔控制函数
将海龟想象为画笔
turtle.penup()别名 turtle.pu(),抬起画笔,海龟在飞行,没有轨迹
turtle.pendown()别名 turtle.pd(),落下画笔,海龟在爬行,有轨迹
turtle.pensize(width)别名turtle.width(width),画笔宽度,海龟的腰围(设置后一直有效,直到下次重新设置)
turtle.pencolor(color) 画笔颜色,海龟在涂装:
其中的color有三种形式:
颜色字符串:turtle.pencolor("purple"),将颜色改为紫色
RGB的小数值:turtle.pencolor(0.63,0.13,0.94)
RGB的元祖值:turtle.pencolor((0.63,0.13,0.94))
turtle运动控制函数
turtle.forward(d)别名turtle.fd(d),海龟向前行进,d为行进距离,可为负(倒退)
turtle.circle(r,extent=None)根据半径r绘制extent角度的弧形
r:默认原心在海龟正左侧r距离位置,即半径
extent:绘制角度,默认为360度为一个圆
例:turtle.circle(100),为海龟在当前位置以100像素为半径画圆
turtle.circle(-100,90),此处半径在海龟右侧100像素,绘制90度
turtle方向控制函数
控制海龟面对方向:绝对角度:
turtle.setheading(angle)别名turtle,seth(angle)
angle:改变行进方向,海龟走的角度
相对角度:
turtle.left(angle)
turtle.right(angle),即在海龟当前行进方向上旋转的角度
注意:方向控制函数只改变方向
循环语句
for <变量>in range (<参数>)
<被循坏执行的语句>
<变量>表示每次循坏的计数,从0开始计数
例如:for i in range(5):
print(i)
最后的输出会是:01234
for i in range (5):
print("Hello:",i)
输出为Hello: 0(中间会有一个空格,这也是逗号的作用)
range()函数
-
产生循坏计数序列
range(N) 是产生0到N-1的整数序列,例:
range(5)产生01234
range(M,N)
产生M到N-1的整数序列,共M-N个
整数类型
没有取值范围限制
pow(x,y),计算x的y次方,想算多大算多大
浮点数类型
-
带有小数及小数点的数
-
浮点数运算存在不确定尾数,不是bug
由于不确定尾数,浮点数间运算及比较用round()函数辅助
round(x,d):对x四舍五入,d为小数截取位数。例:检验0.1+0.2是否等于0.3,round(0.1+0.2,1)==0.3,返回true
-
浮点数可以用科学技术法表示:
使用字母e或者E作为幂的符号,以10为基数,格式如下:
<a>e<b>,表示a*10的b次方
例:4.3e-3,表示4.3*10的-3次方,9.6E5表示9.6乘以10的5次方
复数类型(不重要)
a+bj被称为复数,其中a为实部,b为虚部
例:z=1.23e-4+5.6e+89j即为一个复数
并且z.real获得实部,z.imag获得虚部
数值操作运算符
基本与C语言相同,需要注意的有:
x/y:10/3结果为3.333333333,与现实生活中相同
x//y:整数除,10/3=3
+x:x本身
-y:y的负值
x%y:余数,模运算10%3结果为1
x**y:幂运算,x的y次幂,但当y为负数时,为开放运算,10 * *0.5结果为根号10
二元运算符,与c语言相同,例:x**=3即x=x * *3
数字类型关系
类型间可进行混合运算,生成结果为“最宽”的类型
其中整数<浮点数<复数
例:123+4.0=127.0
数值运算函数
abs(x):取x得绝对值
divmod(x,y):商余操作,即(x//y,x%y),同时输出商和余数
divmod(10,3)结果为(3,1)
pow(x,y[,z]):幂余,(x**y)%z,其中[]表示参数z可省略
例:pow(3,pow(2,99),10000)结果为4587
max(x1,x2,....,xn) 返回其中的最大值,n不限
min(x1,x2,....,xn)返回其中最小值,n不限
int(x)将x变为整数
例:int(123.45)结果为123,int("123")结果为123
float(x)将x变为浮点数
例:float(12)变为12.0,float("1.23")结果为1.23