5
Python 2.6.4 (r264:75706, Dec 7 2009, 18:45:15)
[GCC 4.4.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> class A(object):
... def f(self):
... print self.k
...
>>> class B(object):pass
...
>>> a=A()
>>> b=B()
>>> a.k="a.k"
>>> b.k="b.k"
>>> a.f()
a.k
>>> A.f(a)
a.k
>>> A.f(b)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unbound method f() must be called with A instance as first argument (got B instance instead)
>>>
Tôi làm cách nào để thực hiện việc này?Python: Cách gọi phương thức không liên kết với thông số loại khác?
được sửa đổi: ví dụ này là rõ ràng hơn
Thật bất thường khi cần làm điều này. Bạn có phải là bạn không thể sử dụng trang trí 'staticmethod' để giải quyết vấn đề của mình không? –