Как я могу указать пакет при создании экземпляра класса? - PullRequest
0 голосов
/ 07 декабря 2018

У меня много классов с одинаковыми именами в разных пакетах.В качестве примера возьмем следующую структуру каталогов:

enter image description here

Как из конструктора шаблонов / класса Person я могу объявить экземпляр правил /Person?

Код, который я ожидал сработать (но с ошибкой в ​​строке 10), выглядит следующим образом:

from Template import Template
import rules


class Person(Template):
  def __init__(self):
    super(Person, self).__init__('Person')
    self.rules = [
      rules.Person() #this is an error
    ]

1 Ответ

0 голосов
/ 07 декабря 2018

PEP328 имеет ответ, я думаю.

from .myfolder import Template as Template
from .myfolder1 import Template as Template1
from .myfolder2 import Template as Template2
from pip_installed_library1 import Template as Template3
from pip_installed_library2 import Template as Template4

Используя этот шаблон, они никогда не разделяют имена.

...