【笔记】《python语言程序设计》

您所在的位置:网站首页 python画相关图 【笔记】《python语言程序设计》

【笔记】《python语言程序设计》

#【笔记】《python语言程序设计》| 来源: 网络整理| 查看: 265

一、前言

学习就是一个不断的自下而上,自上而下的过程。

前段时间,学着用python实现网站的数据爬取,隐约get到python的一些语法和用法,感觉就是语法不难,关键在于解决问题的思维。

这是需求驱动后的学习。接下来,就需要对python进行系统地了解。

很早之前搜知乎的时候,就搜到MOOC上的一门《python语言程序设计》课程,讲得很好,而且,我还下载了课件,溜了一遍,感觉就挺有趣的。

趁着有了实战经验,就把这门入门课刷了一遍。果然是门好课!很适合小白入门,并系统学习,整个教学过程循序渐进,深入浅出,提纲挈领,很有意思!

课程是北京理工大学嵩天老师的《python语言程序设计》课程,现在已经开了11次课了。课程每个小视频短则几分钟,最长也不超过20分钟,不容易劝退。每章讲解有复习回顾及小结,在平台python123上有每章的练习和测试,直接反馈结果,激发继续学下去的兴趣。

个人感觉,老师说话速度慢了些,调成了2倍速播放,然后,花了大约3天的时间,把所有的视频,课件,练习和测试都刷了一遍,感觉对python的了解更系统了!

趁热打铁,把每章的知识点和练习、测试再进行整理回顾一下。

以下内容均来自课程:《python语言程序设计》 及平台python123,感兴趣的看课程视频,亲自练习,效果更好~

二、知识点 1. 深入理解Python语言

计算机技术的演进过程:现在为新计算时代

年份 时代 问题 2017-至今 人工智能时代 人类的问题 2008-2016 复杂信息系统时代 数据问题 1981-2008 网络和视窗时代 交互问题 1946-1981 计算机系统结构时代 计算能力问题

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

编程语言 学习内容 语言本质 解决问题 适用对象 C 指针、内存、数据类型 理解计算机系统结构 性能 计算机类专业

| Java | 对象、跨平台、运行时 | 理解主客体关系 | 跨平台 | 软件类专业 | | C++ | 对象、多态、继承 | 理解主客体关系 | 大规模程序 | 计算机类专业 | | VB | 对象、按钮、文本框 | 理解交互逻辑 | 桌面应用 | 不确定 | | Python | 编程逻辑、第三方库 | 理解问题求解 | 各类问题 | 所有专业 |

Python语言的特点

①Python语言是通用语言、脚本语言、开源语言、跨平台语言、多模型语言;

②Python特点与优势:语法简洁(C代码量的10%;强制可读性;较少的底层语法元素;多种编程方式;支持中文字符);生态高产(15万第三方库;快速增长的计算生态;避免重复造轮子;开放共享;跨操作系统平台);

③“超级语言”的诞生:机器语言→汇编语言→高级语言→超级语言;python是唯一的“超级语言”;

2. 实例2:Python蟒蛇绘制 蟒蛇绘制.png 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() 3. turtle库的使用

turtle库基本介绍

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

②turtle绘图体系:1969年诞生,主要用于程序设计入门;

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

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

turtle绘图窗体布局

turtle的绘图窗体.png turtle的绘图窗体2.png turtle空间坐标体系 turtle空间坐标体系1.png turtle空间坐标体系2.png turtle角度坐标体系 turtle角度坐标体系1.png turtle角度坐标体系2.png

RGB色彩体系

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

②默认采用小数值,可切换为整数值:turtle.colormode(mode),其中mode包括1(RGB小数值模式);255(RGB整数值模式);

4. turtle程序语法元素分析

库的引用与import:import ;import as ``from import ; from import *;

turtle画笔控制函数:

①. penup(): 别名pu(), 抬起画笔,海龟在飞行; ②. pendown(): 别名pd(), 落下画笔,海龟在爬行; ③. pensize(): 别名width(), 画笔宽度,海龟的腰围; ④. pencolor(): 画笔颜色,海龟在涂装;例如,turtle.pencolor(‘purple’), turtle.pencolor(0.63,0.13,0.94), turtle.pencolor((0.63,0.13,0.94))

turtle运动控制函数:控制海龟走直线还是走曲线

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

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

运动控制函数.png

turtle方向控制函数:控制海龟面对方向

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

seth().png

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

循环语句:按照一定次数循环执行一组语句;

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

循环语句.png 三、练习 1. 实例2: Python蟒蛇绘制

同上

2. turtle正方形绘制

描述:使用turtle库,绘制一个正方形。

正方形.png import turtle as t t.setup(900,900) t.pensize(5) for i in range(0,4): t.fd(200) t.right(90) t.fd(200) t.done() 3. turtle六边形绘制

描述:使用turtle库,绘制一个六边形。

六边形.png import turtle as t t.setup(900,900) t.penup() t.fd(-200) t.pendown() t.pensize(5) for i in range(0,6): t.fd(200) t.left(60) t.done() 4. turtle叠边形绘制

描述:使用turtle库,绘制一个叠边形,其中,叠边形内角为100度。

叠边形.png import turtle as t t.setup(900,900) t.pensize(5) for i in range(0,9): t.fd(200) t.left(80) t.done() 5. turtle风轮绘制

描述:使用turtle库,绘制一个风轮效果,其中,每个风轮内角为45度,风轮边长150像素。

提示:turtle.goto(x,y)函数,能够将turtle画笔移动到坐标(x,y)

风轮.png import turtle as t t.setup(500,500) t.pensize(4) t.goto(0,150) t.circle(-150,45) t.goto(0,0) t.right(45) t.goto(150,0) t.circle(-150,45) t.goto(0,0) t.right(45) t.goto(0,-150) t.circle(-150,45) t.goto(0,0) t.right(45) t.goto(-150,0) t.circle(-150,45) t.goto(0,0) 四、测试 1.选择题

哪个选项不能正确引用turtle库进而使用setup()函数?

A import setup from turtle

B from turtle import*

C import turtle as t

D import turtle

import只有三种使用方法,以turtle库为例:

import turtle

from turtle import setup 或 from turtle import *

import turtle as t (其中t是别名,可以更换其他名称)

关于turtle库,哪个选项的描述是错误的?

A turtle坐标系的原点默认在屏幕左上角

B turtle库是一个直观有趣的图形绘制函数库

C turtle库最早成功应用于LOGO编程语言

D turtle绘图体系以水平右侧为绝对方位的0度

turtle坐标系的原点默认在窗体正中间

哪个选项是turtle绘图中角度坐标系的绝对0度方向?

A 画布正下方 B 画布正右方 C 画布正上方 D 画布正左方

坐标系类似这样,角度坐标系的绝对0度方向是右侧

哪个选项是下面代码的执行结果?

turtle.circle(-90,90)

A 绘制一个半径为90像素的弧形,圆心在小海龟当前行进的左侧

B 绘制一个半径为90像素的整圆形

C 绘制一个半径为90像素的弧形,圆心在小海龟当前行进的右侧

D 绘制一个半径为90像素的弧形,圆心在画布正中心

circle(x, y) 表示 以x长度为半径,y为角度,当前方向左侧x出为圆心,画圆。其中x和y都可以是负数,相应取反。

关于turtle库绘图函数,哪个选项的描述是错误的?

A turtle.seth(to_angle)函数的作用是设置小海龟当前行进方向为to_angle,to_angle是角度的整数值

B turtle.circle(radius, extent=None)函数的作用是绘制一个椭圆形,extent参数可选

C turtle.fd(distance)函数的作用是向小海龟当前行进方向前进distance距离

D turtle.pensize(size)函数的作用是改变画笔的宽度为size像素

circle()函数不能绘制椭圆形。

关于turtle库的画笔控制函数,哪个选项的描述是错误的?

A turtle.width()和turtle.pensize()都可以用来设置画笔尺寸

B turtle.colormode()的作用是设置画笔RGB颜色的表示模式

C turtle.pendown()作用是落下画笔,并移动画笔绘制一个点

D turtle.penup()的别名有turtle.pu(),turtle.up()

turtle.pendown()只是放下画笔,并不绘制任何内容。

哪个选项不能改变turtle画笔的运行方向?

A left() B bk() C right() D seth()

bk()只能后退,但不改变方向,"后退"不是"转向"。

哪个选项所列保留字能够实现对一组语句的循环执行?

A while和def B if和else C for和in D range()

循环相关保留字是:for..in和while,但def用于定义函数,不相关。

哪个选项能够使用turtle库绘制一个半圆形?

A turtle.circle(100) B turtle.circle(100, -180)

C turtle.circle(100, 90) D turtle.fd(100)

circle(x,y)函数的用法,绘制半圆,第二个参数y是180的奇数倍。

哪个选项对turtle.done()的描述是正确的?

A turtle.done()放在代码最后,是turtle绘图的必要要求,表示绘制完成 B turtle.done()用来隐藏turtle绘制画笔,一般放在代码最后

C turtle.done()用来停止画笔绘制,但绘图窗体不关闭

D turtle.done()用来暂停画笔绘制,用户响应后还可以继续绘制

建议在每个turtle绘图最后增加turtle.done()。

2.程序设计题 turtle八边形绘制

描述:使用turtle库,绘制一个八边形。

八边形.png import turtle as t t.pensize(2) for i in range(0,8): t.fd(100) t.left(45) turtle八角图形绘制

描述:使用turtle库,绘制一个八角图形。

八角图形.png import turtle as t t.pensize(2) for i in range(0,8): t.fd(150) t.left(135)

【笔记】《python语言程序设计》—Python基本语法元素

【笔记】《python语言程序设计》—Python基本图形绘制

【笔记】《python语言程序设计》——基本数据类型

【笔记】《python语言程序设计》——程序的控制结构

【笔记】《python语言程序设计》——函数和代码复用

【笔记】《python语言程序设计》——组合数据类型

【笔记】《python语言程序设计》——文件和数据格式化

【笔记】《python语言程序设计》——程序设计方法学

【笔记】《python语言程序设计》——python计算生态概览



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3