pythonでネストされた関数をもったクラスを継承した際のオーバーライドの仕方

[code]

    class name1(object):
    
        def method1(self):
    
           def method2():
               print 'Hi!'
    
           method2()
    
    class name2(name1):
    
        method2のprint 'Hi'をprint 'Hello'にする記述
    
[/code]

どのように書けばよいかご指南ください。




`method1` 自体を再実装してください。

`method2` は `method1`
のコードの一部なので、「クラスを継承して、親クラスの関数のコードを数行だけ書き換えたい」のであれば、「親クラスの関数全部を再実装する」必要があります。

「親クラスの関数」がサブクラスで再利用できそうなコードを持ってしまっているのであれば、複数のメソッドやモジュールグローバルな関数に分割して、それを再利用することを検討してください。
[Flat is better then nested.](https://www.python.org/dev/peps/pep-0020/) です。

