gpt4 book ai didi

python - 将类分配给变量

转载 作者:太空宇宙 更新时间:2023-11-04 05:44:06 26 4
gpt4 key购买 nike

class SimpleTestCase(object):

def __init__(self, name):
self.name = name
self.SP = SP

def __somemethod(self):
# do something

class Test(object):
def __init__(self, name ):
self.name = name
self.case = SimpleWidgetTestCase

有什么理由可以做

self.case = SimpleTestCase

代替

simple_obj = SimpleTestCase("name")

通过创建对象,可以访问类方法和变量。前者等同于后者吗?

最佳答案

Is there any reason to do
self.case = SimpleTestCase

是的,这是有原因的。有时人们希望在不创建实例的情况下存储类型。创建一个实例可能代价高昂,例如,如果 __init__ 执行打开数据库连接、读取大文件等操作。

By creating object one can access the class methods and variables. Is the former equivalent to latter?

不,前者不等于后者。在前者中,您将类型分配给变量。在后者中,您分配一个实例。
Python 允许您访问方法和变量,如果它们是类方法(或静态方法)或类变量。这样你就不需要创建和实例。通过创建实例,您可以访问实例方法。

请参阅有关 difference between staticmethod and classmethod in python 的链接

关于python - 将类分配给变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32875691/

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