python语言是通用语言:可由于普世的求解问题的开发。
强制可读性、较少的底层语法元素、多种编程方式、支持中文字符、语法简洁是C语言代码量的10%、13万的第三方库、快速增长的计算生态、避免重复造轮子、开发共享、跨操作平台、生态高产
超级语言:
- 粘性整合已有程序,具备庞大的计算生态
- 编程思维不再是刀耕火种,而是集成开发
python蟒蛇绘制
问题1:计算机绘图是什么原理?
- 一段程序为何能够产生窗体?为何能在窗体上绘制图形?
- 如何绘制一条线?弧线?
代码实现
#PythonDraw.py import turtle#引入一个绘图库 turtle.setup(650,350,200,200) turtle.penup() turtle.fd(-250) turtle.pendown() turtle.pensize(25) turtle.pencolor("purple") turtle.seth(-40) for i in range(4): turtle.circle(40,80) turtle.circle(-40,80) turtle.circle(40,80/2) turtle.fd(40) turtle.circle(16,180) turtle.fd(40*2/3) turtle.done()
运行结果
turtle库的使用
turtle库的基本介绍
turtle库是turtle绘图体系的Python实现。是python语言的标准库之一,入门级的图像绘制函数库
python计算生态=标准库+第三方库
- 标准库:随解释器直接安装到操作系统中的功能模块
- 第三方库:需要安装才能使用的功能模块
- 库Library、包Package、模块Module,统称模块
#PythonDraw.py import turtle#引入一个绘图库 turtle.setup(650,350,200,200)#turtle.setup(width,height,startx,starty)设置窗体大小及位置,4个参数后两个可选。setup()并不是必须的 turtle.penup() turtle.fd(-250) turtle.pendown() turtle.pensize(25) turtle.pencolor("purple") turtle.seth(-40) for i in range(4): turtle.circle(40,80) turtle.circle(-40,80) turtle.circle(40,80/2) turtle.fd(40) turtle.circle(16,180) turtle.fd(40*2/3) turtle.done()
#PythonDraw.py import turtle#引入一个绘图库 turtle.goto(100,100) turtle.goto(100,-100) turtle.goto(-100,-100) turtle.goto(-100,100) turtle.goto(0,0)
运行结果:
画“Z”字
#PythonDraw.py import turtle#引入一个绘图库 turtle.fd(150) turtle.right(135) turtle.fd(150*1.4) turtle.left(135) turtle.fd(150)
RGB色彩模式:由三种颜色构成的万物色
- RGB制红绿蓝三个通道的颜色组合
- 覆盖视力所能感知的所有颜色
- RGB每色取值范围0~255整数或0~1小数
库引用:扩充Python程序功能的方式
使用import保留字完成,采用<a>,<b>()编码风格
import<库名>
<库名>.<函数名>(<函数参数>)
还可以使用from和import保留字共同完成
from<库名>import<函数名>
或from<库名>import*
<函数名>(<函数参数>)
改造后的代码
#PythonDraw.py from turtle import*#引入一个绘图库 setup(650,350,200,200)#turtle.setup(width,height,startx,starty)设置窗体大小及位置,4个参数后两个可选。setup()并不是必须的 penup()#海龟飞起 fd(-250)#前进-250 pendown()#海龟落下 pensize(25)#画笔尺寸变为25 pencolor("purple")#画笔颜色变为purple seth(-40)#方向设置为绝对-40° for i in range(4):循环4次 circle(40,80)#设置40为半径,80°的弧度 circle(-40,80)#设置反向40为半径,80°的弧度 circle(40,80/2) fd(40)#行进40 circle(16,180) fd(40*2/3) done()#程序不会退出,需要手动退出
import<库名>as<库别名>
<库别名>.<函数名>(<函数参数>)
给调用的外部库关联一个更短、更适合自己的名字,会带来好多便利
画笔控制函数
penup(),pendown(),pensize(),pencolor()
画笔操作后一直有效,一般成对出现
penup()——抬起画笔,海龟在飞行
pendown()——落下画笔,海龟在爬行
pensize()——画笔宽度,海龟的腰围
pencolor(color)——画笔颜色,海龟在涂装
color参与可以有三种形式:
- 颜色字符串:pencolor("purple")
- RGB的小数值:pencolor(0.63,,013,0.94)
- RGB的元组值:pencolor((0.63,,013,0.94))
运动控制函数
控制海龟行进:走直线或走曲线
turtle.forward(d) 别名 turtle.fd(d):向前行进,海龟走直线,行进距离为负数,后退
turtle.circle(r,extent=None) 根据半径r绘制extent角度的弧形。r:默认圆心在海龟左侧r距离的位置。extent为绘制角度。默认绘制360度整个圆形
方向控制函数
控制海龟面对方向:绝对角度和海龟角度
turtle.settheheading(angle) 别名 turtle.seth(angle)
改变行进方向,海龟走角度。angle
turtle.left(angle) 海龟向左转
turtle.right(angle)海龟向右转
循环语句
for<变量>in range(<函数名>)
<被循环执行的语句>
-<变量>表示每次循环的计数,0到<次数>-1
range()函数
与for,in搭配产生循环计数序列
range(N)——产生0到N-1的整数序列,共N个
range(M,N)产生M到N-1的整数序列,共N-M个