非常に長い関数があるとします。読みやすさを向上させるために、関数をより小さなものに分割したいことがよくあります。
class A:
def long_function(self):
self.helper1()
self.helper2()
...
return
def helper1(self):
#hardwork
...
次に、python 関数を他の関数内で宣言できることを発見しました。これは、ヘルパー関数の範囲を制限するため、コードの整理に役立ち、self
不要な場合は削除します。そう:
class A:
def long_function(self):
helper1()
helper2()
...
return
def helper1():
#hardwork
def helper2():
#more hardwork
しかし、Pythonは、割り当ての前に参照されているUnboundLocalError
ということわざを送ります。'helper1'
呼び出しの上にそれらを定義できることはわかっていますが、それでは読みやすさのすべての目的が無効になります。クラスにプライベート メソッドを追加し続けることもできますが、それは最適ではないと考えています。
何か提案はありますか?