Enum объект не определен при импорте - Python 3 через Jupyter Notebook - PullRequest
0 голосов
/ 11 сентября 2018

Я использую Python 3 через Jupyter Notebook. У меня есть два модуля "color.py" и "painting.ipynb" в одном рабочем каталоге.

color.py

from enum import Enum

class Color(Enum):
    RED = 1
    BLUE = 2

def painting(color):
        if color == Color.RED:
            print("The painting is red")
        elif color == Color.BLUE:
            print("The painting is blue")
        else:
            raise ValueError("The painting is not blue nor red!")

painting.ipynb

import color 
color.painting(Color.RED)

Когда я пытаюсь запустить "painting.ipynb" в блокноте jupyter, у меня появляется следующая ошибка.

--------------------------------------------------------------------------- NameError Traceback (последний последний вызов) в () 1 цвет импорта 2 ----> 3 цвета.painting (Color.RED)

NameError: имя 'Color' не определено

Я не понимаю, почему не могу получить доступ к цвету.Я должен позвонить в класс?Я впервые использую ноутбук Jupyter и Enum.Пожалуйста, помогите :) Спасибо.

1 Ответ

0 голосов
/ 11 сентября 2018

Так как вы импортируете весь .py файл;вам нужно сослаться на ваше перечисление «Color» следующим образом:

import color 
color.painting(color.Color.RED)

Возможно, будет лучше импортировать нужные вам биты в зависимости от того, как часто вы планируете ссылаться на этот Enum:

from color import Color
from color import painting
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...