Найти - Пользователи
Полная версия: Переменные и функции
Начало » Python для новичков » Переменные и функции
1 2
Metallikus
Но ТС ООП не использует.
kampella
py.user.next

В книгах обычно пишут про переменные вида

global var

Так конечно делать не следует, тк будет трудно проследить знчение переменной.

Если же мы обычную переменную, видимую из функции, попробуем изменить, то результат будет совершенно иной:

var = 'data'
def foo(x): 
    var = 'new data'
    x += var
    return r
>>foo('abc\s')
abc new data
>>print var
data
kampella
Alen
А что толку от **kwargs, мне 10 раз функцию вызывать и каждый раз надо передавать все аргументы почти все одни и теже.
4kpt_II
kampella
Карринг. functools.partial. Смотрим и втягиваемся
Alen
kampella
А что толку от **kwargs, мне 10 раз функцию вызывать и каждый раз надо передавать все аргументы почти все одни и теже.

Ну так и передавай один словарик.
py.user.next
kampella
Если же мы обычную переменную, видимую из функции, попробуем изменить
>>> var = [1]
>>> 
>>> def f():
...     print(var)
...     var.append(2)
... 
>>> f()
[1]
>>> var
[1, 2]
>>>
ajib6ept
>>> 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
dimy44
def foo():
    foo.x = 5
    #foo.__dict__['x'] = 5
foo()
print(foo.x)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB