arkadaşlar fonksiyona gönderilen bir int değişkenin değerini *=
, +=
,-=
gibi operatorlerle değiştirebiliyormuyuz büyük ihtimalle hayır ama belki bilmediğim bir şey vardır
fikri olan yokmu
Şimdi bu C ++ olsaydı bildiğim üzere onları bu fonksiyona referans (&) ile gönderirim ve bu nedenle değerlerini değiştirebilirim bunun Peki Python’daki eşiti nedir? veya mümkün mü?
hala fikri olan yokmu
Ne sorduğunu anlamadım
a=0
def f(var):
var+=4
f(a)
print(a)
dene a değişkeni değişmiş mi?
int
immutable bir type olduğu için değiştiremezsiniz; +=
, *=
gibi in-place gibi görünen metotlar, immutable type’lar için in-place değildir, yeni obje oluşturulur. Dolayısıyla fonksiyon üzerinden illa değiştirmek istiyorsanız, return ediniz.
zaten sorunu çözmüştüm burda belirtmeyi unuttum ama olsun saolun
a = 0
def b(a):
a+=4
print(a)
b(a)
böyle yapınca oluyor
nasıl çözdüğünü de anlat bari
konuyla alakalı değil reis sorunun çözümünü başka yerlerde aradım oldu
Değer return edebilirsiniz, veya mutable nesneleri kullanabilirsiniz. Mesela:
- Listelerin indexlerini pointer gibi kullanabilirsiniz.
- Bir sözlüğü parametre olarak paslayıp onun value’lerini değiştirebilirsiniz.