# 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

Completion of variable and module names is automatically enabled at interpreter startup so that the `Tab` key invokes the completion function; it looks at Python statement names, the current local variables, and the available module names. For dotted expressions such as `string.a`, it will evaluate the expression up to the final `'.'` and then suggest completions from the attributes of the resulting object. Note that this may execute application-defined code if an object with a `__getattr__()` method is part of the expression. The default configuration also saves your history into a file named `.python_history` in your user directory. The history will be available again during the next interactive interpreter session.

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

This facility is an enormous step forward compared to earlier versions of the interpreter; however, some wishes are left: It would be nice if the proper indentation were suggested on continuation lines (the parser knows if an `INDENT` token is required next). The completion mechanism might use the interpreter’s symbol table. A command to check (or even suggest) matching parentheses, quotes, etc., would also be useful.

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.