1. <legend id='rVjm3'><style id='rVjm3'><dir id='rVjm3'><q id='rVjm3'></q></dir></style></legend>
    2. <small id='rVjm3'></small><noframes id='rVjm3'>

    3. <tfoot id='rVjm3'></tfoot>
        <bdo id='rVjm3'></bdo><ul id='rVjm3'></ul>

        <i id='rVjm3'><tr id='rVjm3'><dt id='rVjm3'><q id='rVjm3'><span id='rVjm3'><b id='rVjm3'><form id='rVjm3'><ins id='rVjm3'></ins><ul id='rVjm3'></ul><sub id='rVjm3'></sub></form><legend id='rVjm3'></legend><bdo id='rVjm3'><pre id='rVjm3'><center id='rVjm3'></center></pre></bdo></b><th id='rVjm3'></th></span></q></dt></tr></i><div id='rVjm3'><tfoot id='rVjm3'></tfoot><dl id='rVjm3'><fieldset id='rVjm3'></fieldset></dl></div>

        如何重载自定义类的`Float()`?

        时间:2024-08-21

          <tfoot id='BlFjJ'></tfoot>

                <tbody id='BlFjJ'></tbody>
              • <i id='BlFjJ'><tr id='BlFjJ'><dt id='BlFjJ'><q id='BlFjJ'><span id='BlFjJ'><b id='BlFjJ'><form id='BlFjJ'><ins id='BlFjJ'></ins><ul id='BlFjJ'></ul><sub id='BlFjJ'></sub></form><legend id='BlFjJ'></legend><bdo id='BlFjJ'><pre id='BlFjJ'><center id='BlFjJ'></center></pre></bdo></b><th id='BlFjJ'></th></span></q></dt></tr></i><div id='BlFjJ'><tfoot id='BlFjJ'></tfoot><dl id='BlFjJ'><fieldset id='BlFjJ'></fieldset></dl></div>
                <legend id='BlFjJ'><style id='BlFjJ'><dir id='BlFjJ'><q id='BlFjJ'></q></dir></style></legend>
                • <bdo id='BlFjJ'></bdo><ul id='BlFjJ'></ul>

                • <small id='BlFjJ'></small><noframes id='BlFjJ'>

                  本文介绍了如何重载自定义类的`Float()`?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  如何实现重载float()的方法,即当我编写的类的实例传递给float()时会调用该方法?

                  我开始编写自己的Fraction类:

                  class Fraction:
                      def __init__(self, num = 0, denom = 1):
                          self.num = float(num)
                          self.denom = float(denom)
                  

                  现在我希望能够执行此操作:

                  float(Fraction())
                  

                  我尝试使用以下方法,但不起作用。

                  def float(self):
                      return self.num / self.denom
                  

                  推荐答案

                  在您的类上定义__float__()特殊方法。

                  class MyClass(object):
                      def __float__(self):
                           return 0.0
                  
                  float(MyClass())   # 0.0
                  
                  请注意,此方法必须返回float!假设两个操作数都是整数,则在3.0之前的Python版本中,计算self.num / self.denom默认情况下返回int。在本例中,您只需确保其中一个操作数是浮点型:例如float(self.num) / self.denom

                  这篇关于如何重载自定义类的`Float()`?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:使用__str__表示法打印容器中的对象 下一篇:如何在VScode和PyCharm这样的PyGtk应用中实现Linux终端?

                  相关文章

                • <tfoot id='I2H1x'></tfoot>

                  <legend id='I2H1x'><style id='I2H1x'><dir id='I2H1x'><q id='I2H1x'></q></dir></style></legend>
                  <i id='I2H1x'><tr id='I2H1x'><dt id='I2H1x'><q id='I2H1x'><span id='I2H1x'><b id='I2H1x'><form id='I2H1x'><ins id='I2H1x'></ins><ul id='I2H1x'></ul><sub id='I2H1x'></sub></form><legend id='I2H1x'></legend><bdo id='I2H1x'><pre id='I2H1x'><center id='I2H1x'></center></pre></bdo></b><th id='I2H1x'></th></span></q></dt></tr></i><div id='I2H1x'><tfoot id='I2H1x'></tfoot><dl id='I2H1x'><fieldset id='I2H1x'></fieldset></dl></div>

                      <small id='I2H1x'></small><noframes id='I2H1x'>

                        <bdo id='I2H1x'></bdo><ul id='I2H1x'></ul>