为了账号安全,请及时绑定邮箱和手机立即绑定

为什么不可以在类里面定义最大公约数函数,如果可以要怎么写?

为什么不可以在类里面定义最大公约数函数,如果可以要怎么写?

正在回答

2 回答

def __str__(self):

        c, d = self.fun()

        return '%d/%d' % (c, d)


    __repr__ = __str__

    

    def fun(self):

        a, b = self.p, self.q

        if a > b:

            a, b = b, a

        r = 1

        while r != 0:

            r = a % b

            a = b

            b = r

        c, d = self.p / a, self.q / a

        return c, d

self是必须写的 所有class中的函数 必须带上self 除了classmethod等

0 回复 有任何疑惑可以回复我~

可以在类中定义,只是在return 时候需要加上class名字(Rational)

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255665    人
  • 解答问题       2949    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

为什么不可以在类里面定义最大公约数函数,如果可以要怎么写?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信