python学习笔记2

关于python

13万第三方库(语法简洁 + 生态高产) 唯一的超级语言

计算机系统结构时代 到 人工智能时代

五种编程语言

  C(指针、内存、数据类型,理解计算机系统结构,偏底层)

  Java(网络和视窗时代,面向对象,跨平台,理解主客体之间关系)

  C++(对象、多态、继承,理解主客体关系,大规模程序例如OS)

  VB(对象、按钮、文本框,理解交互逻辑,桌面应用设计) 

  python(编程逻辑、第三方库,理解问题求解)

python语言的通用性、简洁性和生态性

 

实例二、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()

一、turtle库的使用

turtle(海龟)库是turtle绘图体系的python实现;是python语言的标准库之一;入门级图形绘制

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

  --标准库:随解释器直接安装到操作系统中的功能模块

  --第三方库:需要经过安装才能使用的功能模块

  --库Library、包Package、模块Module,统称 模块

 1、turtle 的原理

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

2、turtle 的绘图窗体

  画布空间,最小单位是像素

turtle.setup(width, height, startx, starty)
    #-setup() 设置窗体大小及位置
    #4个参数后两个可选,确定窗体位于屏幕的位置

3、turtle空间坐标体系

  绝对坐标: 海龟位于中心(0,0),第一象限(+,+)第二象限(-,+)......

turtle.goto(100,100)
turtle.goto(100,-100)

  海龟坐标:海龟头朝右,那么可分为 前进方向、后退方向、左侧方向、右侧方向

turtle.fd(d) #向海龟的正前方向行进
turtle.bk(d) #向海龟的反方向运行
turtle.circle(r,angle) #以海龟左侧的某一点为圆心进行曲线运行

4、turtle角度坐标系

  绝对角度:x轴正方向表示0或360度,负方向180或-180度

       y轴正方向表示90或-270度,负方向270或-90度

turtle.seth(angle) #seth() 改变海龟行进方向,但不行进,angle为绝对角度

  海龟角度:海龟头朝右,x轴正方向

turtle.left(angle) #向左改变行进方向
turtle.right(angle) #向右改变行进方向

5、RGB色彩模式

--RGB指 红 绿 蓝 三个通道的颜色组合

--RGB每色取值范围  0-255整数 或  0-1的小数

turtle库默认采用小数值,可切换为整数值

turtle.colormode(mode)

 

二、turtle 程序语法元素分析

1、库引用(扩充python程序功能)

  ①使用 import关键字,采用<a>.<b>() 编码风格  

import <库名>
<库名>.<函数名>(<函数参数>)

  ②使用 from 和 import 关键字共同完成

form <库名> import <函数名>

from <库名> import * 
<函数名>(<函数参数>)
......
#PythonDraw.py
from turtle import *  #海归库
setup(650,350,200,200)
penup()
fd(-250)
pendown()
pensize(25)
pencolor("purple")
seth(-40)
for i in range(4):
    circle(40,80)
    circle(-40,80)
circle(40,80/2)
fd(40)
circle(16,180)
fd(40 * 2/3)
done()

注意:方法①不会出现函数重名问题,第②中方法会出现;因为①中<库名>.<函数名>...相当于构成了一个新的函数名

  

  ③使用 import 和 as 关键字共同完成

import <库名> as <库别名>
<库别名>.<函数名>(<函数参数>)
#重命名为更短的名字便于编写程序,有效的解决库重名且比较简单

 

2、画笔控制函数

  画笔操作后一直有效(直到重新设置),一般成对出现

turtle.penup()  别名 turtle.pu()  #抬起画笔,海龟在飞行
turtle.pendown()  别名 turtle.pd()  #落下画笔,海龟在爬行
turtle.pensize(width) 别名 turtle.width(width)  #画笔宽度,海龟的腰围
turtle.pencolor(color)  #color 为颜色字符串 或 R,G,B的值,画笔的颜色
                      #--颜色字符串: turtle.pencolor("purple")
                      #--R,G,B的小数值:turtle.pencolor(0.63,0.13,0.94)
                      #--R,G,B的元组值:turtle.pencolor((0.63,0.13,0.94))

 3、方向控制函数

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

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

turtle.left(angle)  #海龟左转
turtle.right(angle)  #海龟右转(旋转角度

注意:只改变海龟行进方向,并不向前行进 (行进需要运动控制函数,走直线或者走曲线)

4、循环语句与 range() 函数

  循环语句

 

for <变量> in range(<参数>)
    <被循环执行的语句>

 

  range() 函数

--range(N)  产生 0 到 N-1 的整数序列,共N个

--range(M,N) 产生 M 到 N-1 的整数序列,共 N-M 个

 

三、“蟒蛇绘制”代码分析

#PythonDraw.py
import turtle #海归库
turtle.setup(650,350,200,200) #设置窗体大小以及窗体位于屏幕的位置
turtle.penup() #抬起画笔,海龟飞行
turtle.fd(-250) #向后倒退250像素(海龟飞行,画布上并没有留下痕迹)
turtle.pendown() #放下画笔,海龟爬行
turtle.pensize(25) #设置画笔的的宽度(海龟的腰围)
turtle.pencolor("purple") #设置画笔的颜色为紫色
turtle.seth(-40) #改变海龟头的方向,绝对角度-40 处

for i in range(4): #循环(4截身体)
    turtle.circle(40,80) #海龟走曲线,以40像素为半径绘制80度
    turtle.circle(-40,80) #以反向40像素为半径绘制80度

turtle.circle(40,80/2) #以40像素为半径绘制80/2度 turtle.fd(40) #向前行进40像素 turtle.circle(16,180) #以10像素为半径,绘制半圆 turtle.fd(40 * 2/3) #向前行进 turtle.done() #程序运行之后不会退出,需要手工关闭窗体退出 #如果没有此行,程序运行之后自动退出

 

posted @ 2022-01-16 01:16  nanaa  阅读(97)  评论(0编辑  收藏  举报