Şimdi Ara

+= operatörü hk yardım

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
7
Cevap
0
Favori
274
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar Python'a yeni başladım. Döngülere falan geldim ama şu operatörü bir türlü mantığıma oturtamadım. Bu operatürün temel mantığını birisi tam olarak anlatabilir mi? Mesela en çok kafamdaki şey x += (value) eşit midir x= x+(value)? Şunun arasında bir fark var ise(ben şu an göremiyorum) onu anlarsam sanırım tam olarak kafamda oturtup geçeceğim.



  • Eşittir
  • quote:

    Orijinalden alıntı: kirmik

    Eşittir
    Cevabınız için teşekkür ederim. Ben de biraz google dan bakıyordum konuyu açtıktan sonra şöyle bir şey buldum, kafam iyice karıştı doğrusu.

    x += 5 is not exactly same as saying x = x + 5 in Python.

    Note here:

    In [1]: x = [2,3,4]
    In [2]: y = x
    In [3]: x += 7,8,9
    In [4]: x
    Out[4]: [2, 3, 4, 7, 8, 9]
    In [5]: y
    Out[5]: [2, 3, 4, 7, 8, 9]
    In [6]: x += [44,55]
    In [7]: x
    Out[7]: [2, 3, 4, 7, 8, 9, 44, 55]
    In [8]: y
    Out[8]: [2, 3, 4, 7, 8, 9, 44, 55]
    In [9]: x = x + [33,22]
    In [10]: x
    Out[10]: [2, 3, 4, 7, 8, 9, 44, 55, 33, 22]
    In [11]: y
    Out[11]: [2, 3, 4, 7, 8, 9, 44, 55]




  • x += 5

    x'i 5 arttır demektir, sözel olarak merak ediyorsan.
  • Mega Therion kullanıcısına yanıt
    giris icin bu kadar ayrintili bilmeye gerek yok bence. x += 5 ile x = x+5 yi cogu durumda ayni olarak dusunebilirsin diger turlu kafa karistirir.

    eger cok merak ediyorsan pointer - reference mantigini bilmen lazim.

    y = x (y, x in isaret ettigi objeye isaret ediyor. baska bir deyisle x ve y nin bagli olduklari adres ayni.)

    x += [44,55] (bu x in bagli oldugu adrese gibip buradaki listeyi degistiriyor, y de ayni adrese bagli oldugu icin y de degismis oluyor)

    x = x + [33,22] (bu x +[ 33,22] olmak uzere yeni bir obje olusturuyor ve x in adresini bu objenin adresine bagliyor, sonuc olarak
    x ve y nin adresleri farkli olmus olacak)

    burada id(x) bir objenin adresini gosterir. python da denersen x += 5 yaptiginda id(x) degismez ama x = x + 5 yaparsan degisir.
  • quote:

    Orijinalden alıntı: hynx

    giris icin bu kadar ayrintili bilmeye gerek yok bence. x += 5 ile x = x+5 yi cogu durumda ayni olarak dusunebilirsin diger turlu kafa karistirir.

    eger cok merak ediyorsan pointer - reference mantigini bilmen lazim.

    y = x (y, x in isaret ettigi objeye isaret ediyor. baska bir deyisle x ve y nin bagli olduklari adres ayni.)

    x += [44,55] (bu x in bagli oldugu adrese gibip buradaki listeyi degistiriyor, y de ayni adrese bagli oldugu icin y de degismis oluyor)

    x = x + [33,22] (bu x +[ 33,22] olmak uzere yeni bir obje olusturuyor ve x in adresini bu objenin adresine bagliyor, sonuc olarak
    x ve y nin adresleri farkli olmus olacak)

    burada id(x) bir objenin adresini gosterir. python da denersen x += 5 yaptiginda id(x) degismez ama x = x + 5 yaparsan degisir.
    Hocam işte aradığım cevap tam olarak buydu çok teşekkür ederim zaman ayırdığınız için.




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.