我正在学习Python并试图找出构建代码的最佳方式。在
假设我有一个长函数,想把它分解成更小的函数。在C
中,我将使它成为顶层的“静态”函数(因为这是函数的唯一级别)。我也可能会向前声明它,并将它放在使用它的现在被缩短的函数之后。在
现在是Python。在Python中,我可以选择创建一个嵌套函数。由于这个新的“内部”函数实际上只是为了可读性而被拆分的较大函数中的一部分,并且只被它使用,所以听起来它应该是一个嵌套函数,但是在父函数中包含这个函数会导致整个函数仍然很长,因为实际上没有代码从中移出!尤其是因为函数在被调用之前必须被完全编码,这意味着实际的短函数在这个伪长函数的末尾一直向下,这使得可读性很差!在
在这种情况下,什么是最佳实践?在
所以我能理解的是你有一个很长的函数,比如:
你所做的是:
^{pr2}$你还有很多选择,我列出两个:
把它变成一个班
制作另一个模块并将
short_funcs
放入其中。就像flyx建议的那样。在把较小的函数放在自己的文件中,然后导入主函数如何?你会得到类似于:
我认为这种方法带来了很高的可读性:您可以看到较小的函数从何而来,以防您想查看它们,导入它们只是一行代码,而且main函数的实现是直接可见的。通过选择适当的文件名/位置,您还可以告诉用户这些函数不打算在
main_func
之外使用(反正Python中没有隐藏真正的信息)。在顺便说一句:这个问题没有一个正确的答案。在
据我所知,Python中内部函数的主要优点是它们继承了封闭函数的范围。因此,如果您需要访问主函数作用域中的变量(例如参数或局部变量),则内部函数是最好的选择。否则,做你想做的和/或找到最可读的。在
编辑: 也可参见this answer。在
相关问题 更多 >
编程相关推荐