gpt4 book ai didi

python - 将类方法访问到实例方法的最佳方法

转载 作者:太空狗 更新时间:2023-10-30 02:39:08 26 4
gpt4 key购买 nike

class Test(object):

def __init__(self):
pass

def testmethod(self):
# instance method
self.task(10) # type-1 access class method

cls = self.__class__
cls.task(20) # type-2 access class method

@classmethod
def task(cls,val)
print(val)

我有两种方法可以将类方法访问到实例方法中。

self.task(10)

cls = self.__class__
cls.task(20)

我的问题是哪个最好,为什么?

如果两种方式不一样,那么我在什么情况下使用哪一种?

最佳答案

self.task(10) 绝对是最好的。

首先,对于类实例,两者最终都将以相同的操作结束:

Class instances
...
Special attributes: __dict__ is the attribute dictionary; __class__ is the instance’s class

  • 使用类实例对象调用类方法实际上将对象的类传递给方法(引用:引用手册的同一章节):

...When an instance method object is created by retrieving a class method object from a class or instance, its __self__ attribute is the class itself

但第一个更简单,不需要使用特殊属性。

关于python - 将类方法访问到实例方法的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45173588/

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