[Python] Dubbi su passaggio variabili a funzione
Manlio Perillo
manlio_perillo a libero.it
Dom 23 Nov 2008 16:48:19 CET
Enrico Franchi ha scritto:
> On Nov 23, 2008, at 11:35 AM, Lawrence Oluyede wrote:
>
>> Viene sempre e comunque passato l'oggetto riferito dall'etichetta
>> (quindi non è definibile né come "call by value", né come "call by
>> reference"), in questo caso la lista è una variabile mutabile, indi
>> per cui puoi mutarla all'interno della funzione, come all'esterno.
>
> Io direi che viene passato per valore il riferimento. :P
>
> Sembra il modo per assurdo più semplice per definire il comportamento.
>
Potrebbe però generare confusione.
def fun(a):
a = 10
a = 7
fun(a)
print a
Con la semantica di passaggio per riferimento (almeno quella descritta
in C++ o D) uno si aspetterebbe che il programma stampi a terminale 10 e
non 7.
void fun(ref int a) {
a = 10;
}
int main() {
int a = 7;
fun(a);
printf("%d\n", a);
return 0;
}
Ciao Manlio Perillo
Maggiori informazioni sulla lista
Python