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.