第二周:Python编程之实例解析
2.1 Python语法元素入门
1.Python程序元素分析:
语法少;接近人类语言习惯;
缩进:
1个缩进 = 4个空格;
缩进是用以在Python中标明代码之间的层次关系;
缩进是Python语言中表明程序框架的唯一手段;
注释:
代码中加入的辅助说明信息;
帮助程序员记录程序设计方法,辅助程序阅读;
单行注释:#开头;
多行注释:'''... ''' 即三个单引号开头和结尾;
变量:
表示值的名称;
命名:
给程序中自定义元素关联名字的过程;
命名需要保证在程序汇总,名字具有唯一性;
规则:
大小写字母、数组、下划线组合;首字母不能是数字,不能使用空格;
中文等非字母符号也可以作为名字;
大小写名字;
33个保留字:
变量名不能与保留字相同;
表达式:
程序中产生或计算新数值的一行代码;
Python语言的33个保留字或者操作符可以产生复合语法的表达式;
空格的使用:
行代码前表示缩进的空格不能改变;
空格不能将一个命名分割;
除上述情况外,程序中可以使用任意空格增加程序可读性;
输入函数:
input()函数从控制台获得用户输入;
<变量> = input(<提示性文字>)
获得用户输入以字符串形式保留在变量中;
字符串:
字符序列;
字符串以单引号/双引号表示;
长度L:
第一个位置的索引值为0或-L;
最后一个位置的索引值为L-1 或 -1;
例:
val = 28C
val[-1]为C
前两个字符串组成的子串可以用val[0:2]表示,[0,2)的区间;
保留字if:
分支语句;
if…elif…elif…else...
保留字in:
二元关系操作;
判断左侧内容是否在右侧集合中;
if val[-1] in [‘C’,’c’]:
赋值语句:
x和y变量交换:
1)单个赋值语句:
t=x
x=y
y=t
2)同步赋值语句:
x,y = y,x
输出语句:
print()函数用于输出字符信息,或以字符形式输出变量的值;
print()函数通过%来选择要输入的变量;
x = 0.01
print(“%.2f”%x)
循环语句:
控制程序循环;
判断条件或计数判断程序运行次数;
计数循环
for i in range(<计数值>):
<表达式组>
例:
for i in range(10):
<表达式组>
2.程序编写模板:
input-print模板:
用户输入:input;
运算:算法实现;
用户输出:print;
initiao-print模板:
初始变量;
运算;
print;
2.2 蟒蛇绘制程序
1.tuitle库与蟒蛇绘制程序:
(Code2_1-turtlepython)
import turtle
def drawSnake(rad,angle,len,neckrad):
for i in range(len):
turtle.circle(rad,angle)
turtle.circle(-rad,angle)
turtle.circle(rad,angle/2)
turtle.fd(rad)
turtle.circle(neckrad + 1,180)
turtle.fd(rad*2/3)
def main():
turtle.setup(1300,800,0,0)
pythonsize = 30
turtle.pensize(pythonsize)
turtle.pencolor("blue")
turtle.seth(-40)
drawSnake(40,80,5,pythonsize/2)
main()
来看下这段代码,运行画出了一条小蛇;
保留字import引入python外部库:
turtle库是python中一个很流畅的回执图像的外部库;
可以形象的理解为一只小乌龟在爬行;
保留字def定义函数;
函数是一组代码的集合,表达一个功能;
函数名是这段代码的名字;
函数需要调用才能执行;
函数体 与 def定义的函数存在缩进关系
main()表示执行函数;
2.下面我们来分析一下2_1-turtlepython这个程序:
import turtle #导入外部库
def drawSnake(rad,angle,len,neckrad): #定义一个函数 有四个入参
for i
in range(len):
turtle.circle(rad,angle) #按照原型轨迹运动
turtle.circle(-rad,angle)
turtle.circle(rad,angle/2)
turtle.fd(rad) #
turtle.circle(neckrad + 1,180)
turtle.fd(rad*2/3)
def main():
turtle.setup(1300,800,0,0) #turtle的setup函数启动了一个图形窗口 四个参数屏幕的宽度和高度,以及窗口的左上角在屏幕中的位置;
pythonsize = 30
turtle.pensize(pythonsize) #表示运行轨迹的宽度
turtle.pencolor(
"blue
”) #表示运行轨迹的颜色(rgb方式 如“#3d9999”)
turtle.seth(-40) #set h函数表示启动时运行的方向 负值表示相反方向
drawSnake(40,80,5,pythonsize/2) #启动回执蟒蛇功能
main()
坐标系统理解:turtle.setup函数
运行方向理解: turtle.seth
参数表示角度值;注意这个只表示运行的方向;
turtle.circle(rad,angle):
描述按照原型轨迹运行;
参数rad描述原型轨迹半径的位置;
正数表示逆时针半径方向;
负值表示顺时针半径方向;
参数angle表示起始点沿着圆形爬行的弧度值;
举例说明下:
turtle.serh(180) #初始运动方向向左;
turtle.circle(-20,180) #-20是负数,所以进行顺时针方向画弧,半径20,弧度值为180;
turtle.fd()函数功能:
也称为turtle.forward(rad)函数;
表示小乌龟直线向前爬行;
如果参数是负数则向反方向爬行
参数表示向前爬行的轨迹长度;
操作了好几遍,理解了!画了个心形:
def drawHart():
turtle.setup(800, 600, 50, 50)
turtle.pensize(5)
turtle.pencolor("red")
turtle.seth(-135)
for i in range(5):
turtle.fd(70.7)
turtle.seth(135)
turtle.fd(70.7)
turtle.circle(-35.35,180)
turtle.seth(45)
turtle.circle(-35.35,180)
turtle库还有很多其他的函数,后续慢慢学习;
3.函数库的引用:
Python的魅力就在于大量使用外部函数库;
初始安装的有math、random、turtle等;
更多的却是自己安装的;
函数库安装在python解释器的路径后,程序就可以对函数库进行引用;
Python对库函数引用的方式:
1)第一种方式在程序头部增加;
import <库名> 如import turtle
调用函数时,使用<库名>.<函数名>
2)第二种引用方式:
from <库名> import <函数名>
from <库名> import *
这种调用函数可以直接使用函数名调用;
第一种的话:用户自定义函数可重名;
第二种的话:用户自定义函数不可重名;
4.小结:
本周课程我们接触了:变量 命名 注释 缩进 库使用 循环 窗口绘制 分支 函数定义;
还介绍了程序编写模板;
5.练习:
模仿网上实例画了个五角星:
(Code2_2-drawTest)
from turtle import Turtle
def drawFiveStar():
p = Turtle()
p.speed(3)
p.pensize(5)
p.color("black","yellow")
p.begin_fill()
for i in range(5):
p.fd(200)
p.right(144)
# p.left(144) p.end_fill()
drawFiveStar()
具体实现尚待学习;
2.3 课后练习
无
2.4 Turtle库快速参考
无