gpt4 book ai didi

python - 在Python中是否可以使用太多函数?

转载 作者:行者123 更新时间:2023-12-04 13:28:08 25 4
gpt4 key购买 nike

这是一个广泛的问题。

当我发现自己不得不编写越来越长的脚本时,我发现我的本能是将所有内容分解为一口大小的函数。但是,这最终导致函数调用函数调用函数调用函数....,我想知道我是否完全以错误的方式考虑了这一问题。

这就是节略的脚本的样子。对不起,这是人为的。

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()

那么,这是使用函数的正确方法吗?是否可以客观地说彼此之间进行了太多的函数调用?我是否应该为只能完成一次的任务创建函数?

最佳答案

Python具有“递归”限制。如果您遇到了这种情况,那么您可能使用了太多的函数,否则可能没什么大不了的-通常,只有在递归调用函数时才能达到递归限制(然后通常是因为您做错了一些事情,在您应该拥有的时候没有中断)。

功能的要点是使您的生活更轻松。如果发现您有太多的功能并且实际上并没有使您的生活变得更轻松,那么这可能是一个问题。例如:

def add(x,y):
return x+y

这是一个毫无意义的函数,最好避免使用 sinc:
def sinc(x):
return math.sin(x)/x

这实际上可能很有用,因为新函数名称比其中执行的代码更具描述性。另外,稍后如果您发现需要删除x = 0处的奇点,则可以轻松地将其添加到 sinc中。

最终,可读性才是最重要的。如果使用函数使您的代码更易于阅读,那么它可能是值得的(即使您只从一个地方调用它并可以轻松地内联它)。如果您确实关心性能,则存在一些灰色区域(函数的执行时间比内联代码要花更长的时间),但是除非您能够可靠地演示,否则您不应以此为内嵌难以阅读的内容的借口这是一个性能瓶颈。

关于python - 在Python中是否可以使用太多函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13828387/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com