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

      <tfoot id='O7Vx6'></tfoot>

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

        <legend id='O7Vx6'><style id='O7Vx6'><dir id='O7Vx6'><q id='O7Vx6'></q></dir></style></legend>

        如何扩展 Python 类初始化

        时间:2023-09-03
            <tbody id='Nkvgr'></tbody>
          <tfoot id='Nkvgr'></tfoot>

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

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

                • 本文介绍了如何扩展 Python 类初始化的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我已经创建了一个基类:

                  I have created a base class:

                  class Thing():
                      def __init__(self, name):
                          self.name = name
                  

                  我想扩展类并添加到 init 方法中,以便 SubThing 同时具有 nametime 属性.我该怎么做?

                  I want to extend the class and add to the init method so the that SubThing has both a name and a time property. How do I do it?

                  class SubThing(Thing):
                      # something here to extend the init and add a "time" property
                  
                      def __repr__(self):
                          return '<%s %s>' % (self.name, self.time)
                  

                  任何帮助都会很棒.

                  推荐答案

                  可以在子类中定义__init__,调用super来调用父类的__init__ 适当的方法:

                  You can just define __init__ in the subclass and call super to call the parents' __init__ methods appropriately:

                  class SubThing(Thing):
                      def __init__(self, *args, **kwargs):
                          super(SubThing, self).__init__(*args, **kwargs)
                          self.time = datetime.now()
                  

                  确保你的基类是 object 的子类,因为 super 不适用于旧式类:

                  Make sure to have your base class subclass from object though, as super won't work with old-style classes:

                  class Thing(object):
                      ...
                  

                  这篇关于如何扩展 Python 类初始化的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:dict() 和 {} 有什么区别? 下一篇:初始化多个 Numpy 数组(多重赋值) - 像 MATLAB deal()

                  相关文章

                    <small id='9tMSN'></small><noframes id='9tMSN'>

                      <legend id='9tMSN'><style id='9tMSN'><dir id='9tMSN'><q id='9tMSN'></q></dir></style></legend>

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