0

私は持っている:

Class A:
    def __init__(self, y):
        blah, blah, blah
    def af(self, h):
        print "this"

私は次のようにdefsを上書きします:

def my_init(self,h):
    gangsta wangsta
def aff(self,h):
    print "that"

A.af = aff # works
A.__init__ = my_init # doesn't work

init では動作しません....どうすれば動作します__init__か?

4

2 に答える 2

2

正確には何が問題なのですか?

>>> class X:
...   def __init__(self):
...     print "Original Init!"
...
>>> def new_init(self):
...    print "OK New Init"
>>> X()
Original Init!
>>> X.__init__ = new_init
>>> X()
OK New Init
于 2013-02-25T19:58:29.133 に答える
2

最も簡単な方法は、サブクラス化することです。

class B(A):
     __init__ = my_init
于 2013-02-25T19:55:14.797 に答える