4 ms·
>>> def print_a(inst): ... print inst.a ... >>> class Foo(object): ... def __init__(self, a): ... self.a = a ... >>> Foo.print_my_a = pri
by tghw 17y ago
>>> def print_a(inst):
... print inst.a
...
>>> class Foo(object):
... def __init__(self, a):
... self.a = a
...
>>> Foo.print_my_a = print_a
>>> f = Foo(5)
>>> f.print_my_a()
5
Not sure why my previous post was downvoted, unless maybe your definition of monkey-patching is different than mine.
- steveklabnik 17y agoWell, I didn't downvote it, but you can't do this with _everything_ in Python, like you can in Ruby. $ irb irb(main):001:0> class Numeric irb(main):002:1> def wtf irb(main):003:2> puts "hey" irb(main):004:2> end irb(main):005:1> end => nil irb(main):006:0> 5.wtf hey => nil