版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
3.2对象和模块八年级信息技术活动1:绘制抽象画欧阳致远和王语菲一直很好奇《小王子》中的小狐狸为什么会这样睿智?他们想象一定是小狐狸在它的旅程中学习了很多知识。他们想象小狐狸在旅途中学习了绘画,所以能绘制出漂亮的抽象画。今天我们也来绘制小狐狸和抽象画。这两个程序的积木块或者代码都很长,虽然我们用了函数,可以让各个部分比较清晰,但是能不能另外建立一个Python程序,让这个程序直接调用已有程序?这样就可以让调用文件代码很简洁。我们尝试用模块来实现吧!课堂导入活动1:绘制抽象画
抽象画的程序代码pic.py文件中定义了两个函数go()和draw_rect(),go()函数表示去哪里画画,draw_rect()函数表示绘制大小不一、颜色不一、尺寸不一的矩形。课堂导入课堂导入活动2:融合词云词云是以词语为基本单位,根据文本中词语出现的频率等参数更加直观和艺术地展示文本的一种形式。小狐狸利用了计算机来处理词云,让自己更加有智能,更加快速地把握文本中的关键词。小狐狸制作出了由纯文字组成的图片,有英文的,也有中文的。课堂导入模块的作用模块应用实例常用模块函数常用简单算法课堂活动
在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里的代码就会越来越长,维护也越来越不容易。
为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。Python也采用了这种方式,在Python中,一个Python文件称为一个模块。模块的作用
使用模块最大的好处是提高了代码的可维护性;其次,编写代码不必从零开始。当一个模块编写完毕,就可以被其他地方引用。我们在编写程序的时候,也经常引用其他模块,包括Python内置的模块和来自第三方的模块。
使用模块还可以避免函数名和变量名冲突。相同名字的函数和变量完全可以分别存在不同的模块中,因此,我们自己在编写模块时,不必考虑名字会与其他模块冲突。但是也要注意,尽量不要与内置函数名冲突。模块的作用(1)导入模块
导入模块的格式为:
import模块名称
前面学习过调用海龟库(海龟模块):importturtle
调用时间模块:importtime
调用随机函数模块:importrandom模块的应用实例(2)调用模块函数
调用格式为:
模块名称.函数(参数表)
调用time模块的sleep函数:time.sleep(1)
调用一个随机函数:number=random.random()模块的应用实例(3)自定义模块
例如,调用活动1中的pic.py模块来绘制图形。
上图为调用模块的积木块程序和代码程序,先用“importpic”调入pic.py模块后就可以使用该模块中定义的函数了。调用格式:自定义模块名.函数名(参数表)。
本例中使用了pic.go()函数和pic.draw_rect()函数来进行图形绘制。模块的应用实例(1)math模块
sqrt()函数功能:求平方根。
ceil()函数功能:向上取整。
floor()函数功能:向下取整。
使用案例():
importmath
print(math.sqrt(25))
print(math.ceil(25.1))
print(math.floor(25.8))运行结果依次为:5.026.025.0常用模块函数(2)time模块
sleep(seconds)函数功能:程序休眠seconds后再执行下面的语句。
clock()函数功能:返回程序运行的时间。
使用案例(计算并输出time.sleep(2)这句代码运行的时间):
importtime
time1=time.clock()
time.sleep(2)
time2=time.clock()
print(time2-time1)运行结果为:2.00257500001常用模块函数(3)random模块
random()函数功能:返回一个[0,1]的随机数。
randint(m,n)
函数功能:随机产生一个[m,n]的整数。
choice()函数功能:在choice括号内的元素中随机挑选一个。
使用案例:
importrandom
print(random.randint(1,4))
print(random.random())
list1=["apple","banana","orange","pear"]
print(random.choice(list1))运行结果依次为:10.156930169855pear常用模块函数(1)什么是对象
Python是一种面向对象的语言,在Python中所有数据类型都可视为对象,在定义了变量后就可以把整型对象、字符串对象等分配给变量。
简单来说,对象就是一切具体事物,如一个杯子,它是一个对象;一个人,也是一个对象;一台计算机也是一个对象。每个对象是由它的属性和行为构成的。如小狐狸,黄色毛发,体长125cm,体重35kg,视力好等,就是一个对象的属性或特征。能够对对象做什么动作则称为方法,如可以让“小狐狸”这个对象画画、跑步、计算等。
对象=属性+方法。利用对象可以将一个具体事物的属性和方法收集在一起去进行处理。对象应用实例(2)面向过程和面向对象
面向过程和面向对象是两种不同的程序设计思想。面向过程编程是把计算机程序看作一系列命令的集合,即一组函数的顺序执行。为了简化程序设计,面向过程编程时,往往把大的函数分解为多个子函数来降低系统的复杂度。
面向对象的程序设计把计算机程序视为一组对象的集合,每个对象之间进行消息的传送处理,计算机程序的执行就是一系列消息在各个对象之间传递的过程。对象应用实例(2)面向过程和面向对象
自定义的对象数据类型就是面向对象中的类(class)的概念。类是具有相同属性和行为的对象的集合。例如,每只狐狸都有体长、体重、喜好、智商等属性,而他们都可以进行跑步、跳跃等行为。定义了狐狸这个类之后,再在这个类的基础上建立童话小说《小王子》中的小狐狸这一个实例(instance)对象。
下面欧阳致远和王语菲化身为两只小狐狸,我们以输出他们的智商为例,来说明面向过程和面向对象在程序流程上的不同之处。对象应用实例(2)面向过程和面向对象
为了表示小狐狸的智商,面向过程的程序可以用dict来表示:
fox1={'name':'欧阳致远','IQ':180}
fox2={'name':'王语菲','IQ':200}
可以通过函数来输出小狐狸的智商:
defprint_IQ(fox):
print(fox['name'],'IQ=',fox['IQ'])
print_IQ(fox1)
print_IQ(fox2)输出结果为:欧阳致远IQ=180王语菲IQ=200对象应用实例(2)面向过程和面向对象
如果采用面向对象的程序设计思想,首先思考的就不是程序的执行流程,而是fox这种数据类型应该被视为一个对象,这个对象拥有name和IQ这两个属性。如果要输出某只狐狸的IQ就需要创建出这只狐狸所对应的对象,然后给对象发一个print_IQ消息,让对象自己把自己的数据打印出来。
对象应用实例(2)面向过程和面向对象
classfox(object):
def_init_(self,name,IQ):
=name
self.IQ=IQ
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 柠檬酸提取工安全生产基础知识水平考核试卷含答案
- 染色师安全知识宣贯知识考核试卷含答案
- 丙烯酰胺装置操作工岗前实操评估考核试卷含答案
- 电子陶瓷挤制成型工安全宣传测试考核试卷含答案
- 调味品品评师基础安全考核试卷含答案
- 茶园管理员工作技巧强化考核试卷含答案
- 地理信息建库员岗中安全生产知识考核试卷含答案
- 松焦油工技术评优能力考核试卷含答案
- 医学影像设备组装调试工安全演练竞赛考核试卷含答案
- 核物探工岗中事件处置考核试卷含答案
- 2025中国红十字会救护员培训理论考试试题及答案
- T/JSSES 64-2025污水处理厂低碳运行管理技术指南
- Unit 4 Plants around us-Part A Let's talk 课件(内嵌视频)2026-2027学年人教PEP版英语三年级上册
- 2027年中国邮政集团有限公司秋季校园招聘笔试模拟试题及答案详解
- 2026年七十岁老年人三力测试模拟附答案
- 光伏发电项目逆变器调试方案
- 西梅制干、分级技术规范
- AQ 3026-2026《化工企业设备检修作业安全规范》宣贯解读课件
- 小红书 2026家生活情绪需求洞察白皮书
- 雨课堂学堂在线学堂云《漫游插画星(昆明理工)》单元测试考核答案
- 2026年中核科技行测笔试题库
评论
0/150
提交评论