【问题标题】:staticmethod, class method, nested method静态方法、类方法、嵌套方法
【发布时间】:2014-04-08 01:24:32
【问题描述】:

我需要验证一些数据。有时,数据在我的数据结构中是重复的,有时是单数的。当它是多个时,我为此设置了一个标志。为了减少代码,我正在尝试执行以下伪代码:

def validate(self):
    if self.multiple
        for chunk in self.data: #not real code here
            validate_one_chunk(chunk)
    else:
        validate_one_chunk(self.data)

我的问题如下: validate 是类中的一个方法。 validate_one_chunk 不会读取或修改类中的任何内容。如果验证失败,则引发异常,否则除了验证之外什么都不做。

应该 validate_one_chunk 是:

类中的“常规”方法

类中的静态方法

嵌套在 validate 中?

【问题讨论】:

    标签: python static-methods nested-function


    【解决方案1】:

    类中的“常规”方法

    没有。

    类中的静态方法

    没有。

    嵌套在 validate 中

    也许吧。如果其他类需要它,则将其改为模块级函数。

    【讨论】:

    • 如果我把它设为嵌套函数,那么我不能直接测试嵌套函数的行为,对吗?那么我应该只测试外部函数,以便执行内部函数中的所有代码路径?
    • 另外,您能否解释一下(1 或 2 行)为什么不是前两行?
    • 您的问题已经涵盖了这一点。该函数与类无关。
    猜你喜欢
    • 1970-01-01
    • 2016-01-05
    • 1970-01-01
    • 1970-01-01
    • 2017-04-13
    • 1970-01-01
    • 1970-01-01
    • 2011-01-17
    • 2016-09-25
    相关资源
    最近更新 更多