Python, nesne yönelimli, yorumlamalı, birimsel (modüler) ve etkileşimli yüksek seviyeli bir programlama dilidir.1
Girintilere dayalı basit söz dizimi, 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 veri tabanı yazılımı programlama gibi birçok alanda yazılım geliştirebilirsiniz. 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.
Python 1980'lerin sonunda ABC programlama diline alternatif olarak tasarlanmıştı. Python 2.0, ilk kez 2000 yılında yayınlandı. 2008'de yayınlanan Python 3.0, dilin önceki versiyonuyla tam uyumlu değildir ve Python 2.x'te yazılan kodların Python 3.x'te çalışması için değiştirilmesi gerekmektedir. Python 2 versiyonun resmi geliştirilme süreci, dilin son sürümü olan Python 2.7.x serisi versiyonların ardından 1 Ocak 2020 itibarıyla resmi olarak sona erdi.23 Python 2.x geliştirilme desteğinin sona ermesinin ardından, Python dilinin 3.6.x ve sonraki sürümlerinin geliştirilmesi devam etmektedir.4
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. 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. 2.0 sürümü 16 Ekim 2000'de yayınlanmıştır.5 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.6
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. Pygame ile 2D oyun yapılabilir, Blockchain uygulamaları kodlanabilir, uzaktan kontrol veya görüntü işleme yapılabilir, veri analizi veya veri kontrolü yapılabilir, TensorFlow, PyTorch, Keras gibi kütüphanlerle derin makine öğrenmesi uygulamaları yapılabilir.
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 öntanımlı bir bileşen olarak gelir.
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.
*
işleci, çarpma işlemleri için
/
işleci, bölme işlemleri için
//
işleci, tam sayı bölme işlemleri için
+
işleci, toplama işlemleri için
-
işleci, çıkarma işlemleri için
%
işleci, mod alma 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 ifadeleri şunları içerir:
if
ifadesi, bir kod blokunu belli bir koşula bağlı olarak, else
ve elif
(else-if'in kısaltılması) 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 blokundaki temizleme kodunun
blok nasıl sonlanırsa sonlansın çalıştırılmasını sağlar.class
ifadesi, bir kod blokunu çalıştırır ve onun yerel adalanını
bir sınıfa atar, bu sayede o sınıf Nesne Yönelimli
Programlamada
kullanılabilir.def
ifadesi ile fonksiyon tanımlanır.with
ifadesi, bir kod blokunu bir içerik yöneticisine hapseder
(örneğin bir kod bloku ç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
bloku 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ştirildi.Her ifadenin kendi sözdizimi vardır, örneğin def
ifadesi diğer
ifadelerin genelinin aksine blokunu anında çalıştırmaz.
Nesneler üzerindeki metotlar nesnenin sınıfına eklenmiş fonksiyonlardır;
örnek.metod(değişken)
sözdizimi, normal metot ve fonksiyonlar için
Sınıf.metod(örnek, değişken)
ifadesi için bir sözdizimsel
şekerdir. 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 diliyle
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.
Python 3 ve üstü sürümler için uygundur.
# -*- coding: utf-8 -*-
print("Merhaba Dünya")
#Tek satırlık bir python yorumu
"""Bu çok satırlı
bir python
yorumu"""
veri = input('Bir veri giriniz:')
print(veri)
Sürüm | Tarih7 |
---|---|
0.9 | 20 Şubat 1991 |
1.0 | 26 Ocak 1994 |
1.1 | 11 Ekim 1994 |
1.2 | 13 Nisan 1995 |
1.3 | 13 Ekim 1995 |
1.4 | 25 Ekim 1996 |
1.5 | 31 Aralık 1997 |
1.6 | 5 Eylül 2000 |
2.0 | 16 Ekim 2000 |
2.1 | 15 Nisan 2001 |
2.2 | 21 Aralık 2001 |
2.3 | 29 Haziran 2003 |
2.4 | 30 Kasım 2004 |
2.5 | 19 Eylül 2006 |
2.6 | 1 Ekim 2008 |
2.7 | 3 Temmuz 2010 |
3.0 | 3 Aralık 2008 |
3.1 | 27 Haziran 2009 |
3.2 | 20 Şubat 2011 |
3.3 | 19 Eylül 2012 |
3.4 | 16 Mart 2014 |
3.5 | 13 Eylül 2015 |
3.6 | 23 Aralık 2016 |
3.7 | 27 Haziran 2018 |
3.8 | 14 Ekim 2019 |
3.9 | 5 Ekim 2020 |
3.10 | 4 Ocak 2021 |
Python'un ismi, dilin yaratıcısı olan Guido van Rossum'un dili geliştirirken keyif aldığı İngiliz komedi grubu Monty Python8'dan gelmektedir. Monty Python’a ait birçok atıf Python kodunda ve kültüründe sıklıkla görülebilir9. Örneğin, Python literatüründe sıklıkla kullanılan metasentaktik değişkenler, diğer dillerde bulunan geleneksel “foo” ve “bar” yerine “spam” ve “eggs” olarak geçer10. Resmi Python belgeleri ayrıca Monty Python rutinlerine çeşitli referanslar içerir.11 Py- ön eki, bir şeyin Python ile ilgili olduğunu göstermek için kullanılır. Python uygulamalarının veya kitaplıklarının adlarında bu ön ekin kullanımına için Pygame, Qt ve GTK'yi Python'a bağlayan PyQt ve PyGTK ve orijinal olarak Python dilinde yazılmış bir Python uygulaması olan PyPy bunlara örnek olarak verilebilir.
2003 yılından itibaren PythonTIOBE Programlama Topluluğu Endeksi'nde en popüler 10 programlama dili arasında istikrarlı bir şekilde yer alırken, Ekim 2021 itibarıyla Java ve C programlama dillerini geçerek en popüler dil konumunda bulunmaktadır12. 2007, 2010, 2018 and 2020 yıllarında ise bir yıl içerisindeki en yüksek kademe artışı çatısı altında “Yılın Programlama Dili” seçilmiştir ve bunu 4 kez yapabilen tek dildir.1314
Deneysel bir akademik çalışma, Python gibi komut dosyası yazma dillerinin, dize işlemeyi ve sözlükte aramayı içeren programlama sorunları için C ve Java gibi geleneksel dillerden daha üretken olduğunu raporlamış, bellek tüketiminin genellikle "Java'dan daha verimli ve C veya C++’dan çok daha verimsiz” olmadığını saptamıştır15.
Python kullanan büyük kuruluşlar arasında Wikipedia, Google,16 Yahoo!17 CERN18, NASA19, Facebook20, Amazon, Instagram21 ve Spotify22 gibi bazı kuruluşlar yer almaktadır. Sosyal haber ağı sitesi Reddit, çoğunlukla Python ile yazılmıştır.23
Python programlama dilinin tasarımı ve felsefesi, diğer birçok programlama diline de ilham vermiş veya bu dillere etki etmiştir:
Python'un geliştirme uygulamaları diğer diller tarafından da taklit edilmiştir. Örneğin, Python'da “PEP” olarak geçen, bu dile yönelik bir değişikliğin gerekçesini ve bununla ilgili konuları açıklayan belge talep etme uygulaması, Tcl,34 Erlang,35 ve Swift'de de kullanılmaktadır.36
Orijinal kaynak: python. Creative Commons Atıf-BenzerPaylaşım Lisansı ile paylaşılmıştır.
Ne Demek sitesindeki bilgiler kullanıcılar vasıtasıyla veya otomatik oluşturulmuştur. Buradaki bilgilerin doğru olduğu garanti edilmez. Düzeltilmesi gereken bilgi olduğunu düşünüyorsanız bizimle iletişime geçiniz. Her türlü görüş, destek ve önerileriniz için iletisim@nedemek.page