《数据结构与算法——Python语言描述》笔记(4)

本文是关于《数据结构与算法——Python语言描述》笔记的第四部分,重点介绍了如何在Python中实现抽象数据类型(ADT),特别是通过类来创建有理数类。内容包括ADT的概念、Python类的定义、初始化方法、实例方法、静态方法、属性的访问控制以及有理数类的运算符重载和比较方法。通过这个例子,展示了如何在Python中创建和使用自定义数据类型。
摘要由CSDN通过智能技术生成

第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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值