Форум сайта python.su
857
totiks
а правильно его просто перезагрузить,используя reload
Budulianin
Интепретатор куда-то посмотрит(а вот куда интерересно?) и увидет импортированный ранее модуль.
import module import sys del sys.modules['module'] import module
Отредактировано py.user.next (Сен. 9, 2014 21:42:48)
Офлайн
0
Budulianin благодаря вашим усилиям догнал,
код
import m1 import m2 print m1.a print m2.b raw_input() a=0 b=0 raw_input() print a print b raw_input() reload(m1) reload(m2) print m1.a print m2.b raw_input()
Офлайн
33
totiks
Зачем перегружать модули, если они не изменились?
a=0 b=0
Отредактировано Budulianin (Сен. 9, 2014 23:55:34)
Офлайн
0
Budulianin
пишу игру в кости,для самообучения,вероятно чтоб комбинация выпавших костей изменялась нужно перезагружать модули отвечающие за генерацию и выдачу выиграных очков исходя из комбинации,хотя возможно в ваших словах есть что-то,сегодня попробую как повлияет точечное обращение к переменой в модуле повторно,будет ли переменая менятся или нет…все очень интересно,и не высыпаюсь ))).
Отредактировано totiks (Сен. 10, 2014 07:28:33)
Офлайн
568
totiksА вы хорошо понимаете, что такое модули и зачем они вообще нужны?
вероятно чтоб комбинация выпавших костей изменялась нужно перезагружать модули
Офлайн
33
totiks:)
хотя возможно в ваших словах есть что-то
Офлайн
0
FishHook смутно…но пытаюсь понять,из теории мной понялось что они используются в качестве подпрограмм,они нужны там где участки кода часто повторяются…
Офлайн
568
totiksОни нужны для того, чтобы изолировать логику связанную со специфической задачей.
они нужны там где участки кода часто повторяются…
Офлайн
0
FishHook
Гм-м мои извинения,я немного смущен результатами, вот что у меня получилось
я создаю модуль в нем рандомно присваиваю значение для x , от 0 до 7
называю этот модуль именем mod , и пишу в программе такой код:
import mod rez1=mod.x rez2=mod.x rez3=mod.x print rez1 print rez2 print rez3
import mod rez1=mod.x reload(mod) rez2=mod.x reload(mod) rez3=mod.x print rez1 print rez2 print rez3
Офлайн
33
totiks
Для этого необязательно создавать модуль.
Импортируй модуль random в своём главной модуле и каждой переменной присваивай результат функции random.randint(0, 7).
За тебя уже написали модуль, в котором хранятся инструменты связанные с random.
Тебе нужно просто их использовать.
Отредактировано Budulianin (Сен. 10, 2014 15:19:33)
Офлайн