挑战14天学完Python---初识python基本图形绘制

往期文章

挑战14天学完Python----初识Python语法
Java继承与组合
Java多态与重写

请添加图片描述

前言

Python蟒蛇绘制共17行代码,但很多行类似.Python蟒蛇绘制问题是各类图像绘制问题的代表圆形绘制、五角星绘制、国旗绘制、机器猫绘制…
掌握绘制一条线的方法,就可以绘制整个世界!
清楚理解这17行代码能够掌握Python基本绘图方法.本章将通过"Python蟒蛇绘制"实例介绍使用python绘制图形程序的基本方法并理解Python的"模块编程"思想,后续章节将学习面向“计算生态”的理念。本章将学习:

  • 实例 Python蟒蛇绘制
  • turtle库的使用
  • turtle程序语法元素分析
    方法论
  • Python语言及海龟绘图体系
    实践能力
  • 初步学会使用Python绘制简单图形

1."Python蟒蛇绘制"实例

代码如下:

#PythonDraw.py
import turtle;
turtle.setup(650,350,400,400)
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()


如何用程序绘制一条蟒蛇呢,我们可能有疑惑了:
问题1: 计算机绘图是什么原理?
一段程序为何能够产生窗体? 为何能在窗体上绘制图形?
问题2: Python蟒蛇绘制从哪里开始呢?
如何绘制一条线? 如何绘制一个弧形? 如何绘制一个蟒蛇?
"温度转换"到"Python蟒蛇绘制"能否借鉴?

2.Python标准库 之turtle库

import 保留字
引入了一个绘图库
名字叫: turtle没错,就是 海龟

Python计算生态 = 标准库 + 第三方库
标准库: 随解释器直接安装到操作系统中的功能模块
第三方库:需要经过安装才能使用的功能模块
库Library、包Package、模块Module,统称模块

Python 的 turtle 库是一个直观有趣的图形绘制函数库。turtle(海龟)图形绘制的概念诞生于 1969年,并成功应用于LOGO编程语言。由于 turtle 图形绘制概念十分直观且非常流行,Python 接受了这个概念,形成了一个Python 的turtle库,并成为标准库之一。

后续章节将全面介绍 turtle 库的使用,为了介绍Python模块编程思想并解释“Python蟒蛇绘制”程序,本章将结合实例代码介绍 turtle 库中部分函数的使用,这些函数将同时用于后续章节的部分实例中。

turtle(海龟)库是turtle绘图体系的Python实现
turtle绘图体系: 主要用于程序设计入门,Python语言的标准库之一,入门级的图形绘制函数库

3. 面向对象编程风格


通过库引用,使用turtle库,扩充Python程序功能.
使用import保留字完成,采用.()编码风格
import <库名>
<库名>.<函数名>(<函数参数>)

实例代码的第3行到第17行调用了 turtle库中若干函数来绘制Python蟒蛇,所有被调用的函数都使用了.b>()形式。这种通过使用函数库并利用库中函数进编程的方法是 Python 语言最重要的特点,称为“模块编程”。后续章节将详细介绍Python 模块编程思想以及面向“计算生态”的理念。
面向对象编程:

面向对象编程(OOP)是一种基于对象(Object)的编程范式。对象是事物的一种抽象,它是一个实体,包含属性和方法两部分属性是对象中的变量,方法是对象能够完成的操作。
假设对象是0,则O.a 表示对象O的属性 a,O.b()表示对象O的操作b(),其中a是一个变量值,b()是一个函数。例如,一辆汽车可以作为一个对象,标记为C,汽车的颜色是汽车的属性,表示为 C.color,前进是汽车的一个动作,相当于一个功能,因此前进是对象C 的方法,表示为 O.forward().

3.1 import更多玩法

3.1.1使用from和import保留字共同完成

from <库名> import <函数名>
from <库名> import *
<函数名>(<函数参数>)

第一种方法不会出现函数重名问题,第二种方法会出现

3.1.2 使用import和as保留字共同完成

import <库名> as <库别名>
<库别名>.<函数名>(<函数参数>)
给调用的外部库关联一个更短、更适合自己的名字

4.turtle的原(wan)理 (fa)

turtle(海龟)是一种真实的存在
有一只海龟,其实在窗体正中心,在画布上游走
走过的轨迹形成了绘制的图形
海龟由程序控制,可以变换颜色、改变宽度等

4.1 turtle绘图窗体布局—turtul.setup()

turtle.setup(width, height, startx, starty)

  • setup()设置窗体大小及位置
  • 4个参数中后两个可选
  • setup()不是必须的

4.2 turtle空间坐标体系—turtle.goto()、turtle.circle()

4.2.1 turtle.goto(x, y)

在这里插入图片描述

4.2.2 turtle.circle(r,angle)

4.3 turtle角度坐标体系—turtle.seth()、turtle.left()、turtle.right()

4.3.1 turtle.seth(angle)

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

4.3.2 left(angle)、turtle.right(angle)

4.4 turtle的RGB色彩模式

RGB色彩模式
由三种颜色构成的万物色
RGB指红蓝绿三个通道的颜色组合
覆盖视力所能感知的所有颜色
-RGB每色取值范围0-255整数或0-1小数

默认采用小数值 可切换为整数值
turtle.colormode(mode)

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

    turtle.pencolor()函数有三种定义:
    turtle.pencolor(colorstring)
    turtle.pencolor(r,g,b)
    turtle.color((r,g,b))

颜色字符串: turtle.pencolor(“purple”)
RGB的小数值: turtle.pencolor(0.63,0.13,0.94)
RGB的元组值: turtle.pencolor((0.63,0.13,0.94))

5."Python蟒蛇绘制"中的turtle

5.1 画笔控制函数penup(),pendown(),pensize(),pencolor()


画笔操作后一直有效,一般成对出现

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

5.2 运动控制函数turtle.forward(),turtle.circle()

控制海龟行进:走直线 & 走曲线

  • turtle.forward(d)别名 turtle.fd(d)
    向前行进,海龟走直线
    d: 行进距离,可以为负数

  • turtle.circle(r,extent=None)
    根据半径r绘制extent角度的弧形
    r: 默认圆心在海龟左侧r距离的位置
    extent: 绘制角度,默认是360度整圆

5.3 方向控制函数

控制海龟面对方向: 绝对角度 & 海龟角度

  • turtle.setheading(angle) 别名 turtle.seth(angle)
    改变行进方向,海龟走角度
    angle: 行进方向的绝对角度

  • turtle.left(angle) 海龟向左转
  • turtle.right(angle)海龟向右转
    angle: 在海龟当前行进方向上旋转的角度

5.4 turtle.done()

文件式程序程序结束时不能自动退出,要手动关闭窗体退出退出.如果希望自动退出,不写turtle.done()

6. 循环语句与range()函数

6.1 循环语句

按照一定次数循环执行一组语句
for<变量> in range(<次数>):
<被循环执行的语句>
<变量>表示每次循环的计数,0到<次数>-1

6.2 range()函数

range()产生循环计数序列

总结

第一章和第二章为第一部分,主要讲解初识 Python 语法,让我们能够快速入门,跨越那段最朦胧、最期待的未知地带,了解 Python 语言的基本概念并建立对程序设计方法的基本理解。不知不觉,貌似已经在没怎么学Python语法的情况敲个两个实例了,似乎Python与C语言、Java语言有许多不一样的地方.
接下来的第二部分主要讲解 Python 语言的基本语法, Python 语言常用语法体系的,利用 Python 语言编写程序,初步掌握利用程序解决计算问题。
第二部分将学习:
基本数据类型
程序的控制结构
函数和代码复用
组合数据类型
文件和数据格式化

请添加图片描述

猜你喜欢

转载自blog.csdn.net/m0_74387295/article/details/130547640
今日推荐