【发布时间】:2015-10-04 10:30:13
【问题描述】:
这对我来说是这样的:
class SomeName:
def __init__(self):
self.value = "something"
def some_method(self):
print self.value
def external_func(instance, method):
method(instance)
external_func(SomeName(), SomeName.some_method)
这似乎工作正常。这是正确的做法吗?
【问题讨论】:
-
你可以传递
SomeName().some_method然后调用method(),它也不是一个真正的类方法,因为你用实例调用它 -
@PadraicCunningham 我认为 OP 可能只是意味着“类的方法”,而不是类方法。
-
但是它需要能够使用稍后计算的数据来调用它。有一些函数 foo(),除了用于(例如)一些取决于地区或其他东西的税收计算的方法(我的目标是防止代码重复)之外,所有步骤都是相同的。
-
@zehelvion,不确定有什么区别,您可以调用该方法并传递您喜欢的任何内容,如果您觉得可能有问题,可以为您的问题添加更多上下文
标签: python class methods arguments