Python, nesne yönelimli, yorumlamalı, birimsel (modüler) ve etkileşimli yüksek seviyeli bir programlama dilidir.
Girintilere dayalı basit sözdizimi, dilin öğrenilmesini ve akılda kalmasını kolaylaştırır. Bu da ona söz diziminin ayrıntıları ile vakit yitirmeden programlama yapılmaya başlanabilen bir dil olma özelliği kazandırır.
Modüler yapısı, sınıf dizgesini (sistem) ve her türlü veri alanı girişini destekler. Hemen hemen her türlü platformda çalışabilir. (Unix , Linux, Mac, Windows, Amiga, Symbian). Python ile sistem programlama, kullanıcı arabirimi programlama, ağ programlama, web programlama, uygulama ve veritabanı yazılımı programlama gibi birçok alanda yazılım geliştirilebilir. Büyük yazılımların hızlı bir şekilde prototiplerinin üretilmesi ve denenmesi gerektiği durumlarda da C ya da C++ gibi dillere tercih edilir.
Geliştirilmeye 1990 yılında Guido van Rossum tarafından Amsterdam’da başlanmıştır. Adını sanılanın aksine bir yılandan değil Guido van Rossum’un çok sevdiği, Monty Python adlı altı kişilik bir İngiliz komedi grubunun Monty Python’s Flying Circus adlı gösterisinden almıştır. Çalışmalar günümüzde Python Yazılım Vakfı çevresinde toplanan gönüllülerin çabalarıyla sürdürülmektedir. Python 1.0 sürümüne Ocak 1994’te ulaşmıştır. Son kararlı sürümü, 2.x serisinde Python 2.7 ve 3.x serisinde Python 3.5.2’dir. 3 Aralık 2008 tarihinden itibaren 3.x serisi yayınlanmaya başlamıştır; ancak 3.x serisi 2.x serisiyle uyumlu değildir.
Django, Zope uygulama sunucuları, YouTube ve orijinal BitTorrent istemcisi Python kullanan önemli projelerden bazılarıdır. Ayrıca Google, NASA ve CERN gibi büyük kurumlar da Python kullanmaktadır.
Ayrıca OpenOffice.org, GIMP, Inkscape, Blender, Scribus ve Paint Shop Pro gibi bazı programlarda betik dili olarak kullanılır.
Pek çok Linux dağıtımında ve Apple macOS işletim sisteminde Python ön tanımlı bir bileşen olarak bulunur.
Python’un son derece kolay okunabilir olması düşünülmüştür. Bu yüzden örneğin küme parantezleri yerine girintileme işlemi kullanılır. Hatta bazı durumlarda girintileme işlemine dahi gerek kalmadan kodun ilgili bölümü tek satırda yazılabilir. Böylece Python, program kodunuzu en az çaba ile ve hızlıca yazmanıza imkân tanır. Sade sözdizimi ile diğer programlama dillerinden üstündür.
Python’da ifade bloklarını sınırlandırmak için süslü ayraçlar ya da anahtar kelimeler yerine beyaz boşluk girintileme kullanılır. Belli ifadelerden sonra girinti artar; girintinin azalması geçerli blokun sonlandığını gösterir.
İŞLEÇLER
* işleci, çarpma işlemleri için
/ işleci, bölme işlemleri için
+ işleci, toplama işlemleri için
– işleci, çıkarma işlemleri için
< işleci, ‘küçüktür’ anlamına gelir.
> işleci, ‘büyüktür’ anlamına gelir.
== işleci, ‘eşittir’ anlamına gelir.
<= işleci, ‘küçük eşittir’ anlamına gelir.
>= işleci, ‘büyük eşittir’ anlamına gelir.
!= işleci, ‘eşit değil’ anlamına gelir.
** işleci, ‘üs alma’ anlamına gelir.
True işleci, ‘doğru’ anlamına gelir.
False işleci, ‘yanlış’ anlamına gelir.
and işleci, ‘ve’ anlamına gelir.
or işleci, ‘veya’ anlamına gelir.
not işleci, ‘değil’ anlamına gelir.
PYTHON İFADELERİ ŞUNLARI İÇERİR:
if ifadesi, bir kod bloğunu belli bir koşula bağlı olarak, else ve elif (else-if’ın kısaltması) ile birlikte çalıştırır.
for ifadesi, yinelenebilir bir nesne üzerinden yineleme yapar, bu sırada ilgili bloktaki her ögeyi bir yerel değişkene atar.
while ifadesi, koşulu doğru olduğu sürece o kod bloğunu çalıştırır.
try ifadesi, eklenmiş kod bloğundan dolayı oluşan hataları yakalar ve except maddeleriyle; ayrıca finally bloğundaki temizleme kodunun blok nasıl sonlanırsa sonlansın çalıştırılmasını sağlar.
def ifadesi ile fonksiyon tanımlanır.
with ifadesi, bir kod bloğunu bir içerik yöneticisine hapseder. (Örneğin bir kod bloğu çalıştırılmadan önce bir kilit edinir ve sonrasında bu kilidi çözer.)
pass ifadesi bir NOP görevi görür ve geçici kod bloğu yerine kullanılabilir.
print ifadesi bir ekrana yazdırma görevi görür. Bu ifade Python 3 sürümüyle birlikte print() fonksiyonu ile değiştirilmiştir.
Her ifadenin kendi sözdizimi vardır, örneğin def ifadesi diğer ifadelerin genelinin aksine bloğunu anında çalıştırmaz.
Nesneler üzerindeki metotlar nesnenin sınıfına eklenmiş fonksiyonlardır. Python metotlarının örnek verisine ulaşmaları için açık self parametresine sahip olmaları gerekir. Bu durum Java, C++, Ruby gibi bazı diğer nesne tabanlı programlama dilleriyle farklılık gösterir.
Python’un çok büyük bir standart kütüphanesi vardır. Bu, dilin artı özelliklerinden biri olarak kabul edilir.