>----Messaggio originale----
>Da: gollum1.smeag...@gmail.com
>Data: 03/02/2015 10.12
>A: "Python italian (ML)"<python@lists.python.it>
>Ogg: [Python] Scope delle variabili.
>
>Mi sto perdendo qualcosa...
>
>numbers_urls = dict()
>number_count = 0
>
>def numbers_start_element(name, attrs):
>    if name == 'number':
>        number_count += 1
>
>    if 'uri' in attrs.keys():
>        numbers_urls[name] = attrs['uri']
>
>    print(number_count)
>
>
>Perché numbers_urls viene visto correttamente come variabile "globale"
>e modificata, mentre number_count no?

I numeri sono oggetti immutabili per cui

number_count += 1

cioè

number_count = number_count + 1

crea un nuovo oggetto all'interno della funzione il cui scope è locale.

_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a