【问题标题】:python beginner : better to make a method or a functionpython初学者:最好制作一个方法或一个函数
【发布时间】:2013-02-06 23:58:23
【问题描述】:

我有一个可以创建多个实例的类。创建一个方法和调用该方法与创建一个类和一个函数然后在类上使用该函数有什么区别?第一个是否因为方法是“实例化”而占用更多内存?

例子:

class myclass:
    def __init__(self):
        self.a=0

    def mymethod:
        print self.a

inst1=myclass()
myclass.mymethod

对比:

class myclass:
    def __init__(self):
        self.a=0

def myfunction(instance):
    print instance.a

inst1=myclass()
myfunction(inst1)

【问题讨论】:

    标签: python class function methods


    【解决方案1】:

    方法实际上只是总是接收类实例作为第一个参数的函数(并且恰好在类的范围内声明)。方法的代码在所有实例之间共享,因此您不会在每次创建类实例时都“实例化”方法。

    所以,它们实际上是等价的;你使用任何最清楚地表达你的意图的东西(可读性很重要!)。如果您正在编写一个始终将特定类的实例作为参数的函数,那么它可能最清楚地表示为方法。如果该函数可以对许多不同种类的类进行操作,那么它作为一个函数可能是最清晰的。

    【讨论】:

    • @LennartWijers:找到适合您的答案后,您应该单击该答案旁边的绿色复选标记以接受它。
    猜你喜欢
    • 2013-01-30
    • 1970-01-01
    • 2012-03-28
    • 1970-01-01
    • 2020-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多