第2章 抽象数据类型和python类
2.1 抽象数据类型
ADT(Abstract Data Type)是一种思想,也是一种组织程序的技术,主要包括:
1、围绕着一类数据定义程序模块。
2、模块的接口和实现分离。
3、在需要实现时,选择一套合适的机制,采用合理的技术,实现这种ADT的功能,包括具体的数据表示和操作。
2.2 Python中的类
本节主要讲python利用class实现抽象数据类型。
class Rational_number():
def __init__(self,num,den=1):
self.num=num
self.den=den
def plus(self,another):
den=self.den*another.den
num=self.den*another.num+self.num*another.den
# 求最大公约数,保证可以被约到最简形式
max=self.greatest_common_divisor(num,den)
den=den/max
num=num/max
# int()确保输出的是整数
return Rational_number(int(num),int(den))
# 求两个数的最大公约数
def greatest_common_divisor(self,a,b):
if a<b:
temp=a
a=b
b=temp
c=a%b
while c!=0:
a=b
b=c
c=a%b
return b
def print_number(self):
# str(实数)可以将实数转化为字符串
print(str(self.num)+"/"+str(self.den))
a=Rational_number(3,2)
b=Rational