Форум сайта python.su
1
Но ТС ООП не использует.
Офлайн
1
py.user.next
var = 'data' def foo(x): var = 'new data' x += var return r >>foo('abc\s') abc new data >>print var data
Офлайн
1
AlenА что толку от **kwargs, мне 10 раз функцию вызывать и каждый раз надо передавать все аргументы почти все одни и теже.
Отредактировано kampella (Ноя. 28, 2014 19:21:37)
Офлайн
58
kampella
Карринг. functools.partial. Смотрим и втягиваемся 
Офлайн
49
kampella
А что толку от **kwargs, мне 10 раз функцию вызывать и каждый раз надо передавать все аргументы почти все одни и теже.
Офлайн
857
kampella
Если же мы обычную переменную, видимую из функции, попробуем изменить
>>> var = [1] >>> >>> def f(): ... print(var) ... var.append(2) ... >>> f() [1] >>> var [1, 2] >>>
Офлайн
26
>>> x = 10 >>> def foo(): ... x += 1 ... print x ... >>> foo() Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 2, in foo UnboundLocalError: local variable 'x' referenced before assignment
Офлайн
def foo(): foo.x = 5 #foo.__dict__['x'] = 5 foo() print(foo.x)
Офлайн