python二级备考 day3&day4 turtle库

1. 复习

  • 缩进、注释、命名、变量、保留字
  • 数据类型、字符串、整数、浮点数、列表
  • 赋值语句、分支语句、函数
  • input() print() eval() print()格式化
  1. 缩进
    语句间的层次关系,语法的1部分
    缩进不对,程序运行会出错
  2. 注释
    辅助说明文字,不被程序所运行
  3. 命名、变量、保留字(33个)
    保留字:python语法中使用的标识符
    变量命名时不能使用保留字
  4. 数据类型

2. python基本图形绘制

1. 深入理解python语言

  • 计算机技术的演进
  • 编程语言的多样初心
  • python语言的特点
  • 超级语言的诞生
  1. 计算机技术的演进
  • 1946-1981 计算机系统结构时代 35Y(计算能力问题 通过计算机设备提供更加充分、充足、好用的计算能力)
    1946 1st 计算机诞生
    1981 1st IBM PC机诞生
  • 1981-2008 网络和视窗时代 27Y(交互问题 人机、机机 网络:互联网,视窗:windows视窗操作系统)
    2008 安卓OS诞生 PC时代向移动时代转换
  • 2008-2016 复杂信息系统时代 (数据问题)
    2017.5.27 柯洁最终0:3 AlphaGo
    云计算、大数据、网络安全
  • 2016- 人工智能时代 (人类问题)
  1. 编程语言的多样初心
  • C
    学习内容: 指针、内存、数据类型
    语言本质: 理解计算机系统结构
    解决问题: 性能
    适用对象: 计算机类专业
  • JAVA
    学习内容: 对象、跨平台、运行时
    语言本质: 理解主客体关系
    解决问题: 跨平台
    适用对象: 软件类专业
  • C++
    学习内容: 对象、多态、继承
    语言本质: 理解主客体关系
    解决问题: 大规模程序
    适用对象: 计算机类专业
  • VB
    学习内容: 对象、按钮、文本框
    语言本质: 理解交互逻辑(人机)
    解决问题: 桌面应用
    适用对象: 不确定
  • PYTHON
    学习内容: 编程逻辑、第3方库
    语言本质: 理解问题求解
    解决问题: 各类问题
    适用对象: 所有专业
  1. python语言的特点
    通用(不局限于某1门类的应用)、脚本、开源、跨平台、多模型
  • 语法简洁
    强制可读性 (整洁、漂亮)
    较少底层语法元素 (不操作内存和低级接口,使编程简单)
    多种编程方式
    支持中文字符

  • 生态高产
    13万第3方库,每年增长2万个
    快速增长的计算生态
    避免重复造轮子
    开放共享
    跨OS

  • 人生苦短,我学python

  • python归python,C归C

  • Java针对特定开发和岗位需求(安卓手机端)

  • html/css/js 不可替代的前端技术、全栈能力

  • R/Go/Matlab 特定领域

工具决定思维

  1. 编程语言的种类
  • 机器语言
    1种2进制语言,直接使用2进制表达指令
    计算机硬件(CPU)可直接执行,与具体CPU型号有关
  • 汇编语言
    1种将2进制代码直接对应助记符的编程语言
    与CPU型号有关,程序不通用,需汇编器转换
    2+3: add 2,3,result
  • 高级语言
    更接近自然语言,同时更容易描述计算问题
    与具体CPU型号无关,编译后运行
    2+3: result=2+3
  • 超级语言 (python)
    大计算生态,易利用已有代码功能
    集成开发的编程思维
    2+3: result=sum(2,3)

机器语言: 代码直接执行,与CPU型号有关
汇编语言:有助记符,汇编器,与CPU型号有关
高级语言:更接近自然语言,编译器/解释器,与CPU型号无关
超级语言:粘性整合已有程序,具备庞大计算生态

2. 实例2: python蟒蛇的绘制

[分析] 设计蟒蛇的基本形状

  1. 计算机绘图的原理
    窗体的产生
    在窗体上绘制图形
  2. 绘制从何开始
    线?弧?蛇?
    起点?
# PythonDraw.py

import turtle #程序关键 import 库

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()

变换一下:
颜色、长度、方向
各类图像绘制的代表

3. turtle库的使用

  • 基本介绍
  • 绘图窗体布局
  • 空间坐标体系
  • 角度坐标体系
  • RGB色彩体系

1. 基本介绍

turtle绘图体系
1969, 主要用于程序设计入门
python语言的标准库之一
入门级图形绘制函数库

python计算生态=标准库+第3方库
标准库: 随解释器直接安装到OS中的功能模块
第3方库:需经安装才能使用的功能模块
Library 库
Package 包
Module 模块

2. turtle的原理

turtle是真实存在的

  • 有1只海龟,在窗体正中心,在画布上游走
  • 走过的轨迹形成了绘制的图形
  • 由程序控制,变色、改变宽度

2. turtle绘图窗体布局

画布空间
最小单位为像素
电脑屏幕最左上角坐标为(0,0)
turtle.setup(width,height,startx,starty) 其中startx,starty可选
turtle.setup() 设置了窗体大小及位置,并不是必需的,默认为正中间
turtle.setup(800,400,0,0)
turtle.setup(800,400) 默认为正中间

3. turtle空间坐标体系

  • 绝对坐标
    turtle.goto(x,y)
  • 海龟坐标
    turtle.fd(d) 前进
    turtle.bk(d) 后退
    turtle.circle(r,angle)

4. turtle角度坐标体系

改变方向但不前进!!!

  • 绝对角度
    turtle.srth(angle)
  • 海龟角度
    turtle.left(angle)
    turtle.right(angle)

5. RGB色彩体系

R RED
G GREEN
B BLUE
3种及出色构成万物色
RGB表示模式有2种: 0-255/0-1
turtle默认为0-1
turtle.colormode(mode) #1.0/25

4. turtle程序语法元素分析

  1. 库引用与import
    <a>.<b>()的编码风格
    库引用,扩充python程序功能的方式
  • import <库名>
    <a>.<b>()
    <库名>.<函数名>(<函数参数>)
  • from <库名> import <函数名>
    from <库名> import *
    <函数名>.(<函数参数>)
    可能会函数重名,产生冲突
  • import <库名> as <库别名>
    <库别名>.<函数名>(<函数参数>)
  1. turtle画笔控制函数
    turtle.penup() #pu()
    turtle.pendown() #pd()
    turtle.pensize() #width()
    turtle.pencolor() #color string/小数值r,g,b/元组织(r,g,b)
  2. 运动控制函数
    turtle.fd(d) #forward()
    turtle.circle(a,extent=None)
  3. 方向控制函数
    turtle.seth(angle) #setheading()
    turtle.left()
    turtle.right()
  4. 循环语句和range()函数
    for i in range(4):
  • 循环语句
    按一定循环次数执行一组语句
for <变量> in range(参数):
	<被循环执行的语句>

for i in range(5):
	print("Hello,",i) #此处的,会在控制台输出时变为空格

# Hello, 0
# Hello, 1
# Hello, 2
# Hello, 3
# Hello, 4

range() #产生循环计数序列的函数
range(N) # 0 -> N-1
range(5) # 0,1,2,3,4
range(M,N) # M -> N-1
range(2,5) # 2,3,4

ps
末尾加上 turtle.done() 后,需手动关闭窗口

3. python123

  1. import只有三种使用方法,以turtle库为例:
    import turtle
    from turtle import setup 或 from turtle import *
    import turtle as t (其中t是别名,可以更换其他名称)
  2. turtle坐标系的原点默认在窗体正中间
    turtle绘图体系以水平右侧为绝对方位的0度
    turtle库最早成功应用于LOGO编程语言
    turtle库是一个直观有趣的图形绘制函数库
  3. 坐标系类似这样,角度坐标系的绝对0度方向是右侧
  4. circle(x, y) 表示 以x长度为半径,y为角度,当前方向左侧x出为圆心,画圆,其中x和y都可以是负数,相应取反
  5. circle()函数不能绘制椭圆形
  6. turtle.pendown()只是放下画笔,并不绘制任何内容
    turtle.penup()的别名有turtle.pu(),turtle.up()
    turtle.colormode()的作用是设置画笔RGB颜色的表示模式
    turtle.width()和turtle.pensize()都可以用来设置画笔尺寸
  7. bk()只能后退,但不改变方向,"后退"不是"转向"
  8. 循环相关保留字是:for…in和while,但def用于定义函数,不相关
  9. circle(x,y)函数的用法,绘制半圆,第二个参数y是180的奇数
  10. turtle.done()用来停止画笔绘制,但绘图窗体不关闭
  11. turtle八边形绘制
    在这里插入图片描述
#OctagonDraw.py
import turtle as t
t.pensize(2)
for i in range(8):
   t.fd(100)
   t.left(45) 
  1. turtle八角图形绘制
    在这里插入图片描述
import turtle as t
t.pensize(2)
for i in range(8):
    t.fd(150)
    t.left(135)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值