当前位置:  开发笔记 > 编程语言 > 正文

使用Python类有什么好处吗?

如何解决《使用Python类有什么好处吗?》经验,为你挑选了3个好方法。

我有一个充满静态方法的Python类.将这些包装在一个类而不是原始函数中有哪些优点和缺点?



1> Benjamin Pet..:

没有了.这就是模块的用途:对相关功能进行分组.使用一个充满静态方法的类让我对Javaitis感到畏缩.我唯一一次使用静态函数是函数是类的一个组成部分.(事实上​​,我可能想要使用类方法.)



2> Evan Fosmark..:

不.最好让它们成为功能,如果它们相关,则将它们放入自己的模块中.例如,如果您有这样的类:

class Something(object):

    @staticmethod
    def foo(x):
        return x + 5

    @staticmethod
    def bar(x, y):
        return y + 5 * x

那么最好有一个像这样的模块,

# something.py

def foo(x):
    return x + 5

def bar(x, y):
    return y + 5 * x

这样,您可以通过以下方式使用它们:

import something
print something.foo(10)
print something.bar(12, 14)

不要害怕命名空间. ;-)



3> Adam Dziendz..:

如果您的功能依赖于彼此或全局状态,请考虑第三种方法:

class Something(object):
    def foo(self, x):
        return x + 5

    def bar(self, x, y):
        return y + 5 * self.foo(x)

something = Something()

使用此解决方案,您可以单独测试函数,因为您可以使用构造函数覆盖另一个函数的行为或注入依赖项.

推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有