2 - Python基本图形绘制

深入理解Python语言

计算机发展阶段
1946-1981 计算机结构时代(35年):计算能力问题
1981-2008 网络和视窗时代(27年):交互问题。Windows视窗操作系统
2008年,安卓操作系统诞生
2008-2016 复杂信息系统时代(8年):数据问题。大数据、云计算
2016- 人工智能时代(新计算时代):人类的问题。2017年,柯洁和Alpha Go

不同编程语言的初心和适用对象

语言 学习内容 语言本质 解决问题
C 指针、内存、数据类型 理解计算机系统结构 性能
Java 对象、跨平台、运行时 理解主客体关系 跨平台
C++ 对象、多态、继承 理解主客体关系 大规模程序,如大规模图像处理程序
VB 对象、按钮、文本框 理解交互逻辑 桌面应用
Python 编程逻辑、第三方库 理解问题求解 各类问题

Python特点与优势

  1. 语法简洁
    1. C代码量的10%
    2. 强制可读性
    3. 较少的底层语法元素
    4. 多种编程方式
    5. 支持中文字符
  2. 生态高产
    1. 13W+第三方库
    2. 快速增长的计算生态
    3. 避免重复造轮子
    4. 开放共享
    5. 跨操作系统平台

C/C++:Python归Python,C归C
Java:针对特定开发和岗位需求
HTML/CSS/JS:不可替代的前端技术,全栈能力
其他语言:R/Go/Matlab等,特定领域

编程语言的种类

  1. 超级语言:粘性整合已有程序,具备庞大计算生态,可以很容易利用已有代码功能,如Python
  2. 高级语言:接近自然语言,编译器/解释器,与CPU型号无关
  3. 汇编语言:有助记符,汇编器,与CPU型号有关
  4. 机器语言:代码直接执行,与CPU型号有关

Python计算生态 = 标准库 + 第三方库

  1. 标准库:随解释器直接安装到操作系统中的功能模块
  2. 第三方库:需要经过安装才能使用的功能模块
  3. 库Library、包Package、模块Module,统称模块

turtle库的使用

turtle库基本介绍

  1. 有一只海龟,在窗体正中心。
  2. 在画布上游走,走过的轨迹形成了绘制的图形。
  3. 海龟由程序控制,可以变换颜色、改变宽度等。

turtle绘图窗体布局

  1. 画布空间,画布最小单位是像素
  2. turtle.setup(width, height, startx, starty)设置窗体大小及画布左上角的位置,非必须

turtle空间坐标体系

  • 绝对坐标:turtle.goto(x, y)
  • 海龟坐标:turtle.circle(r, angle)

turtle角度坐标体系
turtle.seth(angle)

  • seth()改变海龟行进方向
  • angle为绝对度数
  • seth()只改变方向但不行进

RGB色彩体系

  1. RGB指红蓝绿三个通道的颜色组合
  2. 覆盖视力所能感知的所有颜色
  3. RGB每色取值范围0-255整数或0-1小数

turtle的RGB色彩模式
默认采用小数值 可切换为整数值:turtle.colormode(mode)

  • 1.0:RGB小数值模式
  • 255:RGB整数值模式

turtle程序语法元素

库引用与import
库引用是扩充Python程序功能的方式,使用import保留字完成。

  1. 用法1:采用.()编码风格
    import <库名>
    <库名>.<函数名>( <函数参数>)
  2. 用法2:使用from和import保留字共同完成
    from <库名> import <函数名>
    from <库名> import *
    <函数名>(<函数参数>)
  3. 用法3:使用import和as保留字共同完成,
    import <库名> as <库别名>
    <库别名>.<函数名>( <函数参数>)
  4. 用法比较:
    1. 第一种方法不会出现函数重名的问题
    2. 第二种方法会出现函数重名问题,带来问题
    3. 第三种方法冗余代码量较少,还能防止函数重名

turtle画笔控制函数
画笔设置后一直有效,直至下次重新设置

  • turtle.penup()别名turtle.pu():抬起画笔,海龟在飞行
  • turtle.pendown()别名 turtle.pd():落下画笔,海龟在爬行
  • turtle.pensize(width) 别名 turtle.width(width):画笔宽度,海龟的腰围
  • turtle.pencolor(color)color为颜色字符串或r,g,b值:画笔颜色,海龟在涂装

turtle运动控制函数

  • turtle.forward(d)别名 turtle.fd(d):向前行进,海龟走直线。d: 行进距离,可以为负数
  • turtle.circle(r, extent=None):根据半径r绘制extent角度的弧形。r: 默认圆心在海龟左侧r距离的位置;extent: 绘制角度,默认是360度整圆。

turtle方向控制函数

  • turtle.setheading(angle) 别名 turtle.seth(angle):改变行进方向,海龟走角度。angle: 行进方向的绝对角度。
  • turtle.left(angle):海龟向左转;turtle.right(angle) 海龟向右转。angle: 在海龟当前行进方向上旋转的角度。

基本循环语句
按一定次数循环执行的语句:
for <变量> in range(<参数>)
<被循环执行的语句>

# 从0开始打印,打印5次
for i in range(5):
print(i)

range()函数:产生循环计数序列
range(N):产生从0到N-1的整数序列,共N个

实例:Python蟒蛇绘制

#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()
运行结果.png

你可能感兴趣的:(2 - Python基本图形绘制)