LINUX.ORG.RU

История изменений

Исправление 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» — то всё может быть не так очевидно как кажется на первый взгляд.