Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 20, 2013 18:49:47

4kpt_II
От: Харьков
Зарегистрирован: 2013-10-24
Сообщения: 999
Репутация: +  58  -
Профиль   Отправить e-mail  

Вопрос по областям видимости и модулям

dimy44
Черт возьми, ну если хочется так, то переменные, которые нужны из вне, в теле функции объявляйте global и обращайтесь к ним через имя модуля (из другого модуля).
Ух… Я бы такого делать не рекомендовал.

Офлайн

#2 Дек. 20, 2013 21:15:26

Kongfu
Зарегистрирован: 2013-12-19
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопрос по областям видимости и модулям

dimy44
Черт возьми, ну если хочется так, то переменные, которые нужны из вне, в теле функции объявляйте global и обращайтесь к ним через имя модуля (из другого модуля).
Почему вы такой упертый и отказываетесь вникать в проблему? Вас никто не заставляет помогать.

Файл test.py:
import test2
y = 6

Каким должен быть код в модуле test2.py, чтобы обратиться к переменной y ?

Офлайн

#3 Дек. 20, 2013 22:14:52

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Вопрос по областям видимости и модулям

Kongfu
Почему вы такой упертый
Да они дело говорят.
# module a
import test2
y = 6
test2.pt()
# module test2
import inspect
def pt():
    frm = inspect.currentframe(1)
    print frm.f_globals['y']



Отредактировано doza_and (Дек. 20, 2013 22:18:03)

Офлайн

#4 Дек. 20, 2013 22:55:54

Kongfu
Зарегистрирован: 2013-12-19
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопрос по областям видимости и модулям

doza_and
Да они дело говорят.
Я не спорю, что так делать не стоит, но не каждый же раз переписывать большие куски кода (для меня), когда по глупости утыкаешься в тупик. Проще сделать костыль и учеть ошибки в будущем.
Спасибо за код, никогда бы до такого не догадался. Похоже пора изучить возможности стандартных библиотек

Офлайн

#5 Дек. 21, 2013 15:44:30

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Вопрос по областям видимости и модулям

Kongfu
Проще сделать костыль и учеть ошибки в будущем.
НЕТ!
Сколько строк кода в Вашей программе сейчас всего?



Офлайн

#6 Дек. 21, 2013 15:51:14

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Вопрос по областям видимости и модулям

Каким должен быть код в модуле test2.py, чтобы обратиться к переменной y ?
никаким, модули придумывали не для этого.
Если Вы лично желаете надевать штаны через голову - это Ваша проблема, что плохо получается, а не проблема портного.



Офлайн

#7 Дек. 21, 2013 16:58:52

Kongfu
Зарегистрирован: 2013-12-19
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопрос по областям видимости и модулям

FishHook
никаким, модули придумывали не для этого.Если Вы лично желаете надевать штаны через голову - это Ваша проблема, что плохо получается, а не проблема портного.
я не говорил, что это не моя проблема

порядка 1300 строк кода
* здесь следует комментарий, что это херня и пишется за час, на что я отвечаю, что я не программист и не зарабатываю этим на жизнь бла-бла-бла, идите самоутверждаться в другом месте"

Офлайн

#8 Дек. 21, 2013 17:27:08

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Вопрос по областям видимости и модулям

Kongfu
идите самоутверждаться в другом месте
Да нет же, мон ами, Вы пытаетесь делать глупости, а Вас весьма мягко наставляют на путь истинный.
Если Вам оно не нужно, то делайте как Вам угодно, Аллах с Вами!!!
Зачем Вы спрашиваете совета, если сами всё знаете заранее?
Не требуются Вам советы? - Идите в жопу, нахера Вы вообще тут появились?
Я не спорю, что так делать не стоит, но не каждый же раз переписывать
Дорогой мой человек, Вы будите переписывать столько раз, сколько требуется Вашему мозгу для того чтобы понять задачу и придумать способ её решения. Если Вы думаете, что есть Универсальное Решение Всех Задач с Первого Раза,
то Вы глубоко ошибаетесь.

Вы, дорогой друг, лучше не выпендривайтесь, а русским языком объясните чего Вам надо и как Вы сами это видите.
Так оно быстрее будет и менее эмоционально нагружено.



Отредактировано FishHook (Дек. 21, 2013 17:32:25)

Офлайн

#9 Дек. 21, 2013 17:43:54

Kongfu
Зарегистрирован: 2013-12-19
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопрос по областям видимости и модулям

FishHook
Зачем Вы спрашиваете совета, если сами всё знаете заранее?
Мне нужен был совет, я его получил, я сделал как посоветовали, я учел свои ошибки на будущее.
Если у меня будет выбор между “написать костыль на 3 строки” либо переписать весь логический блок - я выберу первое.

Офлайн

#10 Дек. 21, 2013 17:51:12

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Вопрос по областям видимости и модулям

Молодец.
А так между нами, покажите что за программа то вообще.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version