Does Python have something like anonymous inner classes of Java?

后端 未结 10 1241
一生所求
一生所求 2020-12-05 09:25

In Java you can define a new class inline using anonymous inner classes. This is useful when you need to rewrite only a single method of the class.

Suppose that you

10条回答
  •  醉梦人生
    2020-12-05 09:58

    Python doesn't support this directly (anonymous classes) but because of its terse syntax it isn't really necessary:

    class MyOptionParser(OptionParser):
        def exit(self, status=0, msg=None):
            # body of method
    
    p = MyOptionParser()
    

    The only downside is you add MyOptionParser to your namespace, but as John Fouhy pointed out, you can hide that inside a function if you are going to do it multiple times.

提交回复
热议问题