Göre bu Python kodu görselleştiricisi , Python dizeleri yığın değil, öbek üzerinde tahsis edilir.
Bu neden? Ben Dizeleri öbek üzerinde tahsis Java benzer olacağını düşündüm.
Göre bu Python kodu görselleştiricisi , Python dizeleri yığın değil, öbek üzerinde tahsis edilir.
Bu neden? Ben Dizeleri öbek üzerinde tahsis Java benzer olacağını düşündüm.
Yanıtlar:
Bu görüntüleyici, yığındaki dize verilerini göstermiyor. Çağrı yığınının bir parçası olarak yığın verilerine yerel başvuruları gösterir. Bu, String
başvuruların String
öbek üzerindeki gerçek nesnelere işaret eden yerel değişkenler olduğu Java'ya çok benzer .
Görselleştirici, önem verdiği her türlü temsili basitleştirmeyi yapmakta serbesttir. Herhangi bir Python uygulamasında "Python dizeleri yığına ayrılmıştır" anlamına gelmez.
Greg cevabında, dizgilere öbek üzerinde tahsis edildiğini söyledi.
Görüntüleyici, "çerçeve" bölümünde bazı nesneleri göstermeyi seçti, bu benim için yanlış görünüyor. Neyse ki, python öğrenen biri için çok az etkisi vardır, çünkü etkilenen nesneler (int, string) değişmezdir. Dolayısıyla etkiler hakkında akıl yürütme hala mümkündür.
Ancak, aşağıdaki gibi şeyler yaptığınızda dizelerin bellekte çoğaltıldığına dair yanlış bir izlenim verir:
x = "hello"
y = x