История изменений
Исправление user_id_68054, (текущая версия) :
OK; возьми тот же пример и замени вызовы неизвестно каких функций на вызов методов неизвестно каких классов. Как именно ты узнаешь, где они определены?
то есть ты про такую ситуацию?
from b import Baz
from q import Quux
...
...
class Bar(Baz):
...
def qux(self, quux):
assert isinstance(quux, Quux)
...
quux.foo()
...
...
...
...
здесь даже к годалке не ходи я могу сказать что чтобы узнать получше про «quux.foo()» — нужно посмотреть модуль «q» :) [а не модуль «b»!!!]
однако я согласен с вами, что в случае если «quux» является далёким потомком «Quux» — то всё может быть не так очевидно как кажется на первый взгляд.
Исходная версия user_id_68054, :
OK; возьми тот же пример и замени вызовы неизвестно каких функций на вызов методов неизвестно каких классов. Как именно ты узнаешь, где они определены?
то есть ты про такую ситуацию?
from b import Baz
from q import Quux
...
...
class Bar(Baz):
...
def qux(self, quux):
assert isinstance(quux, Quux)
...
quux.foo()
...
...
...
...
здесь даже к годалке не ходи я могу сказать что чтобы узнать получше про «quux.foo()» — нужно посмотреть модуль «q» :)
однако я согласен с вами, что в случае если «quux» является далёким потомком «Quux» — то всё может быть не так очевидно как кажется на первый взгляд.