Programlama Akademi . 26-07-2024 3:13 PM
Python interaktif konsolu (Python yorumlayıcısı veya Python kabuğu olarak da adlandırılır), programcılara komutları hızlı bir şekilde çalıştırma ve dosya oluşturmadan kod deneme veya test etme olanağı sağlar.
Python'un tüm yerleşik fonksiyonlarına ve yüklü modüllere, komut geçmişine ve otomatik tamamlama özelliklerine erişim sağlayarak, interaktif konsol Python'u keşfetme ve hazır olduğunuzda kodu programlama dosyalarına yapıştırma fırsatı sunar.
Bu öğretici, Python interaktif konsoluyla nasıl çalışılacağını ve bunu bir programlama aracı olarak nasıl kullanabileceğinizi anlatacaktır.
Python interaktif konsoluna, Python yüklü herhangi bir yerel bilgisayar veya sunucudan erişilebilir.
Varsayılan Python sürümünüz için Python interaktif konsoluna girmek için kullanacağınız komut:
$ python3
Yerel bir sanal Python ortamı kullanıyorsanız, varsayılan Python sürümüne şu komutla gireceksiniz:
$ python
Gereksinimler bölümüne göre bir programlama ortamı kurduysanız, bu ortamda yüklü olan Python sürümüne ve modüllere erişmek için önce şu komutu kullanarak ortama girin:
$ cd environments
$ . my_env/bin/activate
Sonrasında python komutunu yazın:
(my_env) sammy@ubuntu:~/environments$ python
Bu durumda, varsayılan Python sürümü Python 3.8.10'dur ve komutu girdikten sonra ilgili telif hakkı bildirimi ve ekstra bilgi için yazabileceğiniz bazı komutlarla birlikte çıktı olarak görüntülenir:
Çıktı
Python 3.8.10 (default, Jun 2 2021, 10:49:15)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
Sonraki komut için birincil istem üç büyük işaretten (>>>):
>>>
Belirli Python sürümlerini hedeflemek için, komutunuza sürüm numarasını boşluk bırakmadan ekleyebilirsiniz:
Not: Ocak 2020 itibariyle Python 2 kullanımdan kaldırılmıştır ve artık iyileştirmeler yapılmayacaktır. Daha fazla bilgi için [Sunsetting Python 2] (https://www.python.org/doc/sunset-python-2/) bağlantısına bakın.
$ python2.7
Çıktı
Python 2.7.18 (default, Mar 8 2021, 13:02:45)
[GCC 9.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
Burada, Python 2.7.18'in kullanılacağını belirten çıktıyı aldık. Bu bizim varsayılan Python 2 sürümümüzse, bu interaktif konsola python2 komutuyla da girebilirdik.
Alternatif olarak, varsayılan Python 3 sürümünü aşağıdaki komutla çağırabiliriz:
$ python3
Çıktı
Python 3.8.10 (default, Jun 2 2021, 10:49:15)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
Yukarıdaki interaktif konsolu python3.8 komutuyla da çağırabilirdik.
Python interaktif konsolu çalışırken, Python kabuk ortamıyla çalışmaya geçebiliriz.
Python interaktif yorumlayıcısı, >>>
öneki sonrasında yerleştirdiğiniz Python sözdizimini kabul eder.
Örneğin, değişkenlere değer atayabiliriz:
>>> birth_year = 1868
1868 tamsayı değerini birth_year değişkenine atadıktan sonra return tuşuna basacağız ve önek olarak üç büyük işaretten oluşan yeni bir satır alacağız:
birth_year = 1868
>>>
Değişken atamaya devam edebilir ve ardından operatörlerle matematiksel işlemler yaparak hesaplamalar elde edebiliriz:
>>> birth_year = 1868
>>> death_year = 1921
>>> age_at_death = death_year - birth_year
>>> print(age_at_death)
53
>>>
Bir dosyadaki bir betikte olduğu gibi, değişkenler atadık, bir değişkeni diğerinden çıkardık ve farkı temsil eden değişkeni yazdırması için konsola talimat verdik.
Python'un herhangi bir formunda olduğu gibi, interaktif konsolu bir hesap makinesi olarak da kullanabilirsiniz:
>>> 203 / 20
10.15
>>>
Burada, 203 tam sayısını 20'ye böldük ve 10.15 bölümünü elde ettik.
Birden fazla satırı kapsayan Python kodu yazarken, yorumlayıcı devam satırları için üç nokta (...) kullanır.
Bu devam satırlarından çıkmak için ENTER tuşuna iki kez basmanız gerekecektir.
Aşağıdaki, iki değişken atayan ve ardından konsola ne yazdıracağını belirlemek için bir koşullu ifadeyi kullanan kodda bunun nasıl göründüğünü görebiliriz:
>>> sammy = 'Sammy'
>>> shark = 'Shark'
>>> if len(sammy) > len(shark):
... print('Sammy kodları Java ile yazar.')
... else:
... print('Sammy kodları Python ile yazar.')
...
Sammy kodları Python ile yazar.
>>>
Bu durumda, iki string'in uzunlukları eşittir, bu nedenle else ifadesi yazdırılır. Python'un dört boşluklu girinti kuralına uymanız gerektiğini unutmayın, aksi takdirde bir hata alırsınız:
>>> if len(sammy) > len(shark):
... print('Sammy kodları Java ile yazar.')
File "<stdin>", line 2
print('Sammy kodları Java ile yazar.')
^
IndentationError: expected an indented block
>>>
Python konsolunda sadece çok satırlı kodlarla denemeler yapmakla kalmaz, aynı zamanda modülleri de içe aktarabilirsiniz.
Python yorumlayıcısı, belirli bir programlama ortamında modüllerin mevcut olup olmadığını kontrol etmenin hızlı bir yolunu sağlar. Bunu, import
ifadesini kullanarak yapabilirsiniz:
>>> import matplotlib
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named 'matplotlib'
Yukarıdaki durumda, matplotlib modülü mevcut programlama ortamında mevcut değildi.
Onu yüklemek için, interaktif yorumlayıcıdan çıkmamız ve her zamanki gibi pip ile yüklememiz gerekecek:
(my_env) sammy@ubuntu:~/environments$ pip install matplotlib
Çıktı
Collecting matplotlib
Downloading matplotlib-3.4.3-cp38-cp38-manylinux1_x86_64.whl (10.3 MB)
...
Installing collected packages: numpy, python-dateutil, kiwisolver, pillow, pyparsing,cycler, matplotlib
Successfully installed cycler-0.10.0 kiwisolver-1.3.1 matplotlib-3.4.3 numpy-1.21.2 pillow-8.3.1 pyparsing-2.4.7 python-dateutil-2.8.2
Matplotlib modülü ve bağımlılıkları başarıyla yüklendikten sonra, tekrar interaktif yorumlayıcıya dönebilirsiniz:
(my_env) sammy@ubuntu:~/environments$ python
>>> import matplotlib
>>>
Bu noktada hata mesajı almazsınız ve yüklenen modülü kabuk veya dosya içinde kullanabilirsiniz.
Python interaktif konsolundan çıkmanın iki ana yolu vardır: klavye kısayolu veya Python fonksiyonu kullanmak. *nix tabanlı sistemlerde CTRL +D veya Windows sistemlerinde CTRL + Z ardından CTRL tuşu, konsolunuzu kesintiye uğratır ve sizi orijinal terminal ortamınıza geri döndürür:
>>> age_at_death = death_year - birth_year
>>> print(age_at_death)
53
>>>
sammy@ubuntu:~/environments$
Alternatif olarak, Python fonksiyonu quit(), interaktif konsoldan çıkacak ve sizi önceki bulunduğunuz orijinal terminal ortamına geri getirecektir:
>>> octopus = 'Ollie'
>>> quit()
sammy@PythonUbuntu:~/environments$
quit()
fonksiyonunu kullandığınızda, bu geçmiş dosyanızda görünecektir, ancak CTRL + D klavye kısayolu kaydedilmeyecektir:
Dosya: /home/sammy/.python_history
age_at_death = death_year - birth_year
print(age_at_death)
octopus = 'Ollie'
quit()
Python yorumlayıcısından çıkmak, iş akışınız ve geçmiş ihtiyaçlarınıza bağlı olarak her iki şekilde de yapılabilir.
Python interaktif konsolunun yararlı özelliklerinden biri, tüm komutlarınızın *nix tabanlı sistemlerdeki .python_history dosyasına kaydedilmesidir ve bu dosyaya örneğin nano gibi bir metin düzenleyiciyle bakabilirsiniz:
$ nano ~/.python_history
Bir metin düzenleyiciyle açıldığında, Python geçmiş dosyanız kendi Python komut geçmişinizle şu şekilde görünecektir:
Dosya: /home/sammy/.python_history
import pygame
quit()
if 10 > 5:
print("hello, world")
else:
print("nope")
sammy = 'Sammy'
shark = 'Shark'
...
Dosyanızla işiniz bittiğinde, nano'dan çıkmak için CTRL + X tuşlarına basabilirsiniz.
Tüm Python geçmişinizi takip ederek, önceki komutlara ve deneylere geri dönebilir ve bu kodu Python programlama dosyalarında veya Jupyter Notebook'ta kullanmak için kopyalayıp yapıştırabilir veya değiştirebilirsiniz.
Python interaktif konsolu, Python koduyla denemeler yapmak için bir alan sağlar. Test etme, mantık kurma ve daha fazlası için bir araç olarak kullanabilirsiniz.
Python programlama dosyalarını hata ayıklamak için, bir dosya içinde etkileşimli bir yorumlayıcı açmak için Python code modülünü kullanabilirsiniz. Bu konuda daha fazla bilgi için [Etkileşimli Konsolla Python Hata Ayıklama Kılavuzu] kılavuzumuza bakabilirsiniz.
Lisa Tagliaferri tarafından yazılan How To Work with the Python Interactive Console Program makalesinin düzenlenmiş çevirisi
Dhah Fazla Oku: