【发布时间】:2018-05-09 23:41:29
【问题描述】:
有可能做这样的事情吗? (这个语法实际上不起作用)
class TestClass(object):
def method(self):
print 'one'
def dynamically_defined_method(self):
print 'two'
c = TestClass()
c.method()
c.dynamically_defined_method() #this doesn't work
如果可能的话,这是一种糟糕的编程习惯吗?我真正想做的是根据实例的状态调用同一方法的两个变体之一(都具有相同的名称和签名)。
【问题讨论】:
-
不清楚你想要什么,但是不,这是不可能的。
dynamically_defined_method只是method主体的局部函数,而不是TestClass的方法。