[Python] Questo, da Python, non me lo sarei mai aspettato
Daniele Zambelli
daniele.zambelli a gmail.com
Lun 12 Feb 2024 09:30:18 CET
Il giorno lun 12 feb 2024 alle ore 08:47 Federico Fissore
<federico a fissore.org> ha scritto:
>
> Ciao
>
> no, l'ultima funzione sta rivalorizzando `par` ogni volta. Cambiala così e riesegui
Ok, questo mi pare che riproduca la situazione:
def prova(cambia, par=[]):
if cambia:
par.append('pippo')
print("cambiata")
print(par)
prova(False) # []
prova(True) # cambiata \n ['pippo']
prova(False) # ['pippo']
Ma la cosa è un po' più sottile di come mi sembrava di avere capito, infatti:
def prova(cambia, par=[]):
if cambia:
par = ['pippo']
print("cambiata")
print(par)
prova(False) # []
prova(True) # cambiata \n ['pippo']
prova(False) # []
def prova(cambia, par=''):
if cambia:
par = 'pippo'
print("cambiata")
print(par)
prova(False) # ''
prova(True) # cambiata \n 'pippo'
prova(False) # ''
Mi sfugge ancora qualcosa...
Grazie, ciao.
--
Daniele
www.matematicadolce.eu
Perché la scuola,
invece di essere un luogo dove ci si allena a imparare,
è un luogo dove si fa finta di sapere?
Maggiori informazioni sulla lista
Python