Hej! Robię pierwsze kroki w pythonie, więc wybaczcie, że pytanie jest tak proste
![Smiley :)](http://forum.linux.pl/Smileys/default/smiley.gif)
Staram się zadeklarować zmienną globalną, tzn. taką, która w dla każdej funkcji i metody w programie będzie oznaczała dokładnie to samo miejsce w pamięci. Biorąc to na chłopski rozum, wystarczy na początku programu napisać
... ale niestety nie jest to takie proste, jak mi się wydawało.
Napisałem taki mały skrypcik:
#!/usr/bin/python
global a
a = 0
def input_value(value):
a = value
def print_value():
print a
input_value(2)
print_value()
input_value(12)
print_value()
Który teoretycznie powinien po kolei przypisać globalnej zmiennej wartość 2, wyświetlić ją na ekranie, potem przypisać tej samej zmiennej wartość 12 i znowu wyświetlić ją na ekranie.
Niestety nie jest tak jak myślę, bo program wyświetla dwa zera. Wnioskuje, że funkcja input_value() jednak nie traktuje a jako zmiennej globalnej. O dziwo wygląda na to, że funkcja print_value już traktuje ją w ten sposób.
Jak więc powinienem to zrobić?