14. Etkileşimli Girdi Düzenleme ve Geçmiş İkame
***********************************************

Python yorumlayıcısının bazı sürümleri, Korn kabuğunda ve GNU Bash
kabuğunda bulunan tesislere benzer şekilde, mevcut girdi satırının ve
geçmiş ikamesinin düzenlenmesini destekler. Bu, çeşitli düzenleme
stillerini destekleyen GNU Readline kütüphanesi kullanılarak
gerçekleştirilir. Bu kütüphanenin burada kopyalamayacağımız kendi
belgeleri vardır.


14.1. Tab Tamamlama ve Geçmiş Düzenleme
=======================================

Değişken ve modül adlarının tamamlanması, yorumlayıcı başlangıcında
otomatik olarak etkinleştirilir, böylece "Tab" tuşu tamamlama işlevini
çağırır; Python deyim adlarına, mevcut yerel değişkenlere ve
kullanılabilir modül adlarına bakar. "string.a" gibi noktalı ifadeler
için, ifadeyi "'.'" sonuna kadar değerlendirecek ve ardından ortaya
çıkan nesnenin niteliklerinden tamamlamalar önerecektir.
"__getattr__()" yöntemine sahip bir nesne ifadenin bir parçasıysa
bunun uygulama tanımlı kodu çalıştırabileceğini unutmayın. Varsayılan
yapılandırma aynı zamanda geçmişinizi kullanıcı dizininizdeki
".python_history" adlı bir dosyaya da kaydeder. Geçmiş, bir sonraki
interaktif tercüman oturumu sırasında tekrar kullanılabilir olacaktır.


14.2. Etkileşimli Yorumlayıcıya Alternatifler
=============================================

Bu olanak, tercümanın önceki sürümleriyle karşılaştırıldığında ileriye
doğru atılmış çok büyük bir adımdır; ancak, bazı eksiklikler var:
Devam satırlarında uygun girinti önerilmiş olsaydı iyi olurdu
(ayrıştırıcı, daha sonra bir girinti jetonunun gerekip gerekmediğini
bilir).

Oldukça uzun bir süredir var olan alternatif geliştirilmiş etkileşimli
yorumlayıcı, tab tamamlama, nesne keşfi ve gelişmiş geçmiş yönetimi
özelliklerine sahip IPython 'dur. Ayrıca, tamamen özelleştirilebilir
ve diğer uygulamalara gömülebilir. Bir başka benzer geliştirilmiş
etkileşimli ortam da bpython 'dur.
