Как установить переменную внутри области действия функции? - PullRequest
1 голос
/ 13 июля 2011

Могу ли я установить переменную внутри области действия функции, зная, что я отправил эту переменную как параметр ..

См. Пример:

def test(param):
    param = 3

var = 5
test(var)

print var

Я хочу, чтобы напечатанное значение было 3, но этого не происходит. Как я могу это сделать?

Спасибо ..

Ответы [ 3 ]

2 голосов
/ 13 июля 2011

Вы можете вернуть значение param следующим образом:

def test(param)
    param = 3
    return param

var = 5
var = test(var)

Или вы можете использовать глобальную переменную.

2 голосов
/ 13 июля 2011

Лучше использовать return, чем global:

def test(param):
    param = 3
    return param

var = 5
var = test(var)

print var
0 голосов
/ 13 июля 2011

Глобальный оператор позволяет назначать переменные, объявленные вне области действия функции.

var = 5
def test():
  global var
  var = 3

test()
print var

Однако я обнаружил, что мне редко нужно использовать эту технику.Модель функционального программирования делает это менее важным.

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