【发布时间】:2012-12-11 20:57:06
【问题描述】:
这是一个宽泛的问题。
当我发现自己不得不编写越来越长的脚本时,我发现我的本能是将所有内容分解成一口大小的函数;但是,这最终会导致函数调用函数调用函数调用函数....我想知道我是否完全以错误的方式思考这个问题。
这是一个删节脚本的样子。抱歉,这有点做作。
def simple_task_1():
return
def simple_task_2():
return
def simple_task_3():
return
def simple_task_4():
return
def complex_task_1():
simple_task_2()
simple_task_3()
simple_task_4()
return
def startup():
simple_task_1()
complex_task_1()
simple_task_4()
def finish():
# other function calls
return
def main():
startup()
finish()
那么,这是使用函数的正确方法吗?有没有一个客观的观点,你可以说你在彼此内部进行了太多的函数调用?我是否应该为最终只完成一次的任务创建函数?
【问题讨论】:
-
最终,您会希望将相关函数组分组或封装到类中。该类还将包含函数之间的任何共享状态(现在称为方法)。
-
@Keith -- 我同意你的说法,但是,为了澄清,我认为重要的是要提到没有状态共享的类是没有意义的。在这种情况下,具有功能的模块可能会更好。换句话说,如果你的每个类的方法都可以用
@staticmethod装饰,那么你可能实际上并不想要一个类。
标签: python