Уведомления

Группа в Telegram: @pythonsu

#1 Март 14, 2015 20:58:41

ReKoder
Зарегистрирован: 2015-03-14
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с модулем и методами - name 'example1' is not defined (дурацкий вопрос)

Что-то я никак не подружусь с вызовом модулей, функций и видимостью переменным, ну и ООП до кучи.
Подскажите пж ответ на дурацкий вопрос.
Итак, есть класс MyKlass записанный в файле my_md1.py. У класса есть метод do_smth()

Вызываю в отдельном модуле этот метод:

from my_md1 import *

def my_function(mr):
y = mr.do_smth (сейчас исправил на MyKlass.do_smth - даже тянется в выпадающем списке подсказок набора его метод do_smth)
return y

здесь my_function(mr) - это некая функция от mr.
mr - это объект, создается в командной строке интерпретатора так.
Вызываю так:
>>> example1 = {'m': , ‘s’: (0,0), ‘f’: (4,4)
далее создаем экземпляр класса >>>
mr = MyKlass(example1['m'], example1['s'], example1['f'])
Ну и вызов функции из интерпретатора делаем: >>> my_function(mr)

Так вот, до вызова функции даже не доходит дело. Сначала выдается:
Traceback (most recent call last):
File "<interactive input>", line 1, in <module>
NameError: name 'example1' is not defined

В некоторых случаях проскакивает и далее выдает ошибку “File ”“, line 1, in NameError: name ‘mr’ is not defined”, в общем до вызова функции не доходит дело.
Я уже строку импорта по-всякому пытался записать, и просто import my_md1 и т.д.

Завис - не могу сообразить, где туплю. Но где-то в элементарщине.

з.ы. Работаю в PyScripter, но проблема вряд ли этой программы.

Отредактировано ReKoder (Март 14, 2015 21:01:06)

Офлайн

#2 Март 14, 2015 23:56:42

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10015
Репутация: +  857  -
Профиль   Отправить e-mail  

Работа с модулем и методами - name 'example1' is not defined (дурацкий вопрос)

ReKoder
Вызываю в отдельном модуле этот метод:
Функцию модулем называешь, тогда как модуль в питоне - это файл.

ReKoder
Итак, есть класс MyKlass записанный в файле my_md1.py.
Вот этот файл my_md1.py является модулем my_md1.

ReKoder
mr - это объект, создается в командной строке интерпретатора так.
Код пиши в теге кода, иначе стираются символы.

ReKoder
NameError: name 'example1' is not defined
Значит, не создался тот словарь.



Офлайн

#3 Март 15, 2015 14:24:52

ReKoder
Зарегистрирован: 2015-03-14
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с модулем и методами - name 'example1' is not defined (дурацкий вопрос)

py.user.next
Функцию модулем называешь, тогда как модуль в питоне - это файл.
Не-не, вот именно что речь шла об отдельном файле.
А вообще - спасибо, именно не создался тот словарь. Попробовал по-другому.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version