Атрибут перечисления не распознан - PullRequest
0 голосов
/ 19 ноября 2018

Это код, который я запускаю:

import Qubit
from Z import Z

q = Qubit(Z.V)

Код Qubit выглядит следующим образом:

from Z import Z

class Qubit:
  def __init__(self, spin):
    if isinstance(spin, Z):
      print ('success')

Код Z выглядит следующим образом:

from enum import Enum

class Z(Enum):
  H = 0
  V = 1

Когда я запускаю код, я получаю эту ошибку:

Traceback (most recent call last):
  File "main.py", line 4, in <module>
    q = Qubit(Z.V)
TypeError: 'module' object is not callable

Я что-то не так делаю?

1 Ответ

0 голосов
/ 19 ноября 2018

Да, enum Z является членом модуля Z, что означает, что вы должны ссылаться на него как Z.Z, как в main.py, так и Qubit. Кроме того, вы можете заменить import Z на from Z import Z в обоих файлах.

...