【发布时间】:2013-02-01 09:22:09
【问题描述】:
class A(object):
@classmethod
def print(cls):
print 'A'
def __print(self):
print 'B'
def __init__(self):
self.print = self.__print
a = A()
a.print()
A.print()
我觉得太丑了,有没有其他方法可以实现相同的功能?不要说 combinemethod,因为它每次都会创建一个对象。
【问题讨论】:
-
这有什么意义?你想达到什么目的?
-
我尝试为类方法和方法使用相同的函数名。
-
例如,我们想通过 id 对记录进行分片。我们使用 A.get_db_name(id=1) 来计算新记录的数据库名称。我们还可以使用 a.get_db_name() 来获取已存在记录的数据库名称。
标签: python static-methods class-method