【发布时间】:2012-10-10 00:00:46
【问题描述】:
我想知道是否有类似的东西, 说:
>>> class A(object):
... def swap(self):
... self = 'I am swapped'
...
>>> abc=A()
>>> abc
<__main__.A object at 0x028B6130>
>>> abc.swap
<bound method A.swap of <__main__.A object at 0x028B6130>>
>>> abc.swap()
>>> abc
<__main__.A object at 0x028B6130>
>>> type(abc)
<class '__main__.A'>
看,它的类型不是str,而是A类。
【问题讨论】:
-
我很确定你不能这样做(几乎在任何编程语言中)。不确定为什么。
-
这是一个非常糟糕的设计模式......其中一个只是因为你不能意味着你应该......更好的选择是研究工厂设计模式
-
@macek 实际上是可能的......
-
为了清楚起见,您说的是 instance 方法。