Fonksiyona gönderilen değişkenin değerini değiştirme

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 :neutral_face:

Ş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 :frowning_face: :slightly_frowning_face: :worried:

Ne sorduğunu anlamadım :frowning:

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.

1 Beğeni

zaten sorunu çözmüştüm burda belirtmeyi unuttum ama olsun saolun :smile:

a = 0

def b(a):
    a+=4
    print(a)

b(a)

böyle yapınca oluyor :smiley:

nasıl çözdüğünü de anlat bari

konuyla alakalı değil reis sorunun çözümünü başka yerlerde aradım oldu :small_airplane:

1 Beğeni

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.
2 Beğeni