Python类方法的一个示例用例是什么?
我读过Python中的什么是类方法? 但该帖子中的例子很复杂。 我正在寻找Python中类方法的特定用例的清晰,简单,简单的示例。
你能举出一个小的,具体的示例用例,其中一个Python classmethod将是该工作的正确工具吗?
初始化的辅助方法:
class MyStream(object):
@classmethod
def from_file(cls, filepath, ignore_comments=False):
with open(filepath, 'r') as fileobj:
for obj in cls(fileobj, ignore_comments):
yield obj
@classmethod
def from_socket(cls, socket, ignore_comments=False):
raise NotImplemented # Placeholder until implemented
def __init__(self, iterable, ignore_comments=False):
...
那么__new__
是一个非常重要的分类方法。 这是实例通常来自哪里
所以dict()
当然会调用dict.__new__
,但是有时候有另一种方便的方法来制作dict.fromkeys()
例如。
>>> dict.fromkeys("12345")
{'1': None, '3': None, '2': None, '5': None, '4': None}
我不知道,像命名构造函数的方法?
class UniqueIdentifier(object):
value = 0
def __init__(self, name):
self.name = name
@classmethod
def produce(cls):
instance = cls(cls.value)
cls.value += 1
return instance
class FunkyUniqueIdentifier(UniqueIdentifier):
@classmethod
def produce(cls):
instance = super(FunkyUniqueIdentifier, cls).produce()
instance.name = "Funky %s" % instance.name
return instance
用法:
>>> x = UniqueIdentifier.produce()
>>> y = FunkyUniqueIdentifier.produce()
>>> x.name
0
>>> y.name
Funky 1
链接地址: http://www.djcxy.com/p/54307.html