内容正文:
专题四 可以复用的代码
考纲要求
(1)了解面向对象程序设计的基本方法;
(2)了解模块化程序设计的意义;
(3)掌握调用math模块使用数学函数的方法;
(4)掌握调用turtle模块绘制简单图形的方法。
一.面向对象程序设计概述
面向对象程序设计(简称OOP)是一种程序开发的方法。对象是指客观存在的事物,比如可以从圆、矩形、三角形等图形抽象出一个简单图形,简单图形就是一个对象,它有自己的属性和行为,图形中边数、面积是它的属性,输出图形的面积就是它的行为。同一类事物的集合称为类,在类中定义每个对象共有的属性和方法,即类是封装对象的属性和行为的载体,对象是类的实例。面向对象程序设计的思想是将对象作为程序的基本单元,将程序和数据封装其中以提高程序的重用性、灵活性和扩展性。面象对象程序设计具有三大基本特征:封装、继承和多态。
在Python中,字符串、函数、列表等都是对象,Python就是面象对象程序设计语言。
实例:根据从键盘上输入的表示星期几的数字,输出对应的用英文表示的星期的简称,如“Mon、Tue、Wed、Thu、Fri、Sat、Sun”。设计程序代码如下:
list=[] #创建空列表对象
for i in range(7):
xq=input("请输入英文星期:") #按星期的顺序一个一个输入,并添加到列表中
list.append(xq) #利用列表对象的方法append()将英文星期添加到列表的末尾
n=int(input("请输入一个数:")) #输入1~7中的一个数
print("你输入的是",list[n-1]) #输出英文表示的星期
二.模块化程序设计的意义
对于比较大型、复杂的问题,可以采取“自顶向下、逐步细化”的方法,即将一个完整的问题分成若干个小问题,每个小问题实现一个功能,再将每个小问题逐步细化、分解为一系列具体可实现的步骤。以功能块为单位进行程序设计,实现其求解算法的方法称为模块化。模块化的目的是为了降低程序复杂度,使程序设计、调试和维护等操作简单化。
将问题模块化后,有许多功能是相似甚至完全相同的,可以使用代码复用的方法以提高程序的效率。函数就是一种代码复用的方法。
Python函数分为系统函数和用户自定义函数两类。系统函数分为内置函数和非内置函数,内置函数可以直接使用,内置函数包含了使用频繁的或最基本的操作,如基本数学函数(abs,round)、类型转换函数(int,float,str)、集合操作函数(len,max,min,sum)、输入输出操作函数(input,print)等。
非内置函数要先导入模块再使用。Python 标准库中有100多个非内置模块,如math库函数,其中包含各种数学函数。
二.模块化程序设计的意义
1.内置函数。
表6-4-1 Python内置函数
二.模块化程序设计的意义
【实例讲解】
1.输入5个数,统计最大值、最小值、它们的和以及平均值。
程序代码:
list=[] #定义空列表
for i in range(5):
a=float(input("请输入一个数:"))
list.append(a) #将输入的数添加到列表
print(max(list),min(list),sum(list),sum(list)/5)
2.输入一个字符串,输出字符串长度;将大写的字母转化为小写再输出;将小写字母转化为大写再输出。
s=input("请输入一个字符串:")
a=len(s)
print("字符串的长度是:",a)
for i in range(a):
print(s[i].lower(),end="") #将大写的字母转化为小写再输出
for i in range(a):
print(s[i].upper(),end="") #将小写的字母转化为大写再输出
二.模块化程序设计的意义
2.调用math模块
要使用math模块中的库函数,首先必须要导入,导入的方法有两种:
(1)导入整个模块。语句格式:import math;或 from math import *。
(2)导入个别函数。比如导入函数sqrt、sin,语句格式:from math import sqrt,sin。
表6-4-2常见的math函数
函数名 作用 示例 结果
sqrt() 求平方根 math.sqrt(9) 3.0
trunc() 取整,直接舍去小数 math.trunc(2.78) 2
exp() exp(n)求e(e=