Python风格问题,嵌套函数与全局作用域函数[已关闭]

js81xvg6  于 2023-01-01  发布在  Python
关注(0)|答案(1)|浏览(98)
    • 已关闭**。此问题为opinion-based。当前不接受答案。
    • 想要改进此问题吗?**请更新此问题,以便editing this post可以用事实和引文来回答。

19小时前关门了。
Improve this question
Python风格的问题。嵌套函数通常更干净/更好,还是在更大的范围内定义它们并使用self.function()访问?
例如,这样编写代码是否更好:

class Blah:
    def doStuff(self, x, y):

        def doOtherStuff(a, b):
            return a

        return doOtherStuff(x, y)

还是像这样?:

class Blah:
    def doStuff(self, x, y):
        return self.doOtherStuff(x, y)

    def doOtherStuff(self, a, b):
            return a
lyr7nygr

lyr7nygr1#

问问你自己,你使用doOtherStuff的频率有多高。它是否只在doStuff中?如果是这样,嵌套是好的,特别是如果它只是几行代码。如果它是几行代码,你可能想把它作为一个单独的函数来帮助可读性(“Readability counts”,Python的Zen)。此外,如果你需要返回doOtherStuff,那么嵌套可能更好。
此外,我还要补充一点,如果您选择使用单独的方法,并且不在类外部使用doOtherStuff,则应该对受保护的方法使用单下划线前缀,对私有方法使用双下划线(“dunder”)前缀。
总的来说,要用你最好的判断来澄清。没有进一步的细节,很难推荐一个超出这些指导方针的方法。

相关问题