假设我有一个很长的函数,我经常想把它分解成更小的函数以提高可读性。
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'
我知道我可以在他们的调用之上定义它们,但这会破坏所有易于阅读的目的。我也可以继续用私有方法填充我的课程,但我认为这是次优的。
你有什么建议吗?