Так что я какой-то код, который был несколько хлопотно переписать:Функция рандомизатора/проблемы глобальных переменных в python?
def func_A():
x=[]
# the function picks random members of the local x and rearranges them,
# after giving x some initial value
return x
Теперь я хочу, чтобы создать итерацию в func_B
, что для каждого Прогон в Интерактивного, func_B
использует значение x
что func_A
генерирует, чтобы что-то делать.
Однако, я хочу, чтобы сделать x
глобальной переменной.
Моя первая мысль состояла в том, чтобы сделать первую строчку def func_B
x=func_A()
, но это будет запускать рандомизатор дважды, и значение x
будет изменено.
Как я не ссылаться на то же самое, что x
func_A
производит в func_B
без повторного запуска рандомизации (до следующей итерации в func_B
) и без использования глобальных переменных?
Вы имеете в виду, не передавая 'x' в качестве параметра между функциями? –
Да, передача в качестве параметра представляется очевидным решением - в чем причина, почему вы не можете этого сделать? –
Зачем вам нужно генерировать 'x' вне' func_B', если вы хотите новый 'x' каждый раз, когда вы вызываете' func_B'? Вы делаете что-то с ней вне 'func_B'? – zigg