gpt4 book ai didi

python 初学者 : better to make a method or a function

转载 作者:行者123 更新时间:2023-11-28 22:56:59 26 4
gpt4 key购买 nike

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

例子:

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 初学者 : better to make a method or a function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14741223/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com