Yığını çok iyi anlarsanız, belleğin programda nasıl çalıştığını anlarsınız ve belleğin programda nasıl çalıştığını anlarsanız, programda fonksiyon deposunun nasıl çalıştığını anlarsınız ve programdaki fonksiyon deposunun nasıl olduğunu anlarsanız, özyinelemeli fonksiyonun nasıl çalıştığını ve özyinelemeli işlevin nasıl çalıştığını anlarsınız, derleyicinin nasıl çalıştığını anlarsınız ve derleyicinin nasıl çalıştığını anlarsanız zihniniz derleyici olarak çalışır ve herhangi bir programı çok kolay hata ayıklarsınız
Yığın nasıl çalıştığını açıklayayım:
İlk önce yığında nasıl fonksiyon deposu olduğunu bilmek zorundasınız:
Yığın deposu dinamik bellek ayırma değerleri. Yığın deposu otomatik ayırma ve silme değerleri.
Örnekle anlayalım:
def hello(x):
if x==1:
return "op"
else:
u=1
e=12
s=hello(x-1)
e+=1
print(s)
print(x)
u+=1
return e
hello(4)
Şimdi bu programın bölümlerini anlayın:
Şimdi yığının ne olduğunu ve yığın parçalarının neler olduğunu görelim:
Yığın tahsisi:
Herhangi bir fonksiyonun tüm yerel değişkenlerini yüklemesine bakılmaksızın “dönüş” alırsa veya yığın çerçevesinden derhal yığından döneceği herhangi bir şeyi hatırlayın. Bu, herhangi bir özyinelemeli işlev temel koşulu aldığında ve temel koşuldan sonra dönüşü koyduğumuzda, temel koşulun programın “başka” bölümünde yer alan yerel değişkenleri yüklemek için beklemeyeceği anlamına gelir ve geçerli kareyi yığından hemen döndürür ve şimdi bir kare varsa sonraki kareye dön etkinleştirme kaydında. Bunu pratikte görün:
Bloğun yeniden yerleştirilmesi:
Şimdi bir işlev geri dönüş ifadesi bulduğunda mevcut kareyi yığından siler.
yığın değerinden döndürülürken, yığın içinde tahsis edildikleri sıralamanın tersi sırasına göre döndürülür.
Bunlar çok kısa bir açıklama ve yığın ve çift özyineleme hakkında daha derin bilmek istiyorsanız bu blogun iki gönderisini okuyun:
Adım adım yığın hakkında daha fazla bilgi
Yığınla adım adım Çift özyineleme hakkında daha fazla bilgi