«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как разрешить циклическую зависимость в Python?

Как разрешить циклическую зависимость в Python?

Опубликовано 5 ноября 2024 г.
Просматривать:137

How to Resolve Circular Dependency in Python?

Циркулярная зависимость в Python

Обнаружение циклической зависимости может стать неприятной проблемой при работе с модулями Python. В этом конкретном сценарии у нас есть два файла, node.py и path.py, содержащие классы Node и Path соответственно.

Изначально path.py импортировал node.py, используя from node.py import *. Однако после добавления в Node нового метода, ссылающегося на объект Path, импорт path.py привел к ошибке, поскольку Node не был определен.

Чтобы устранить циклическую зависимость, рассмотрите возможность реализации следующего:

Используйте отложенное вычисление: вместо импорта одного модуля в другой во время инициализации, импортируйте его только при необходимости в рамках определенной функции. Например, в node.py импортируйте Path только при необходимости:

# in node.py 
from path import Path
class Node 
    ...

В path.py импортируйте Node только внутри того метода, который этого требует:

# in path.py
class Path
  def method_needs_node(): 
    from node import Node
    n = Node()
    ...
Заявление о выпуске Эта статья перепечатана по адресу: 1729326856. В случае каких-либо нарушений, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3