Genel kullanım amaçlı ve yüksek seviyeli bir programlama dili.
Web geliştirme (web development), oyun geliştirme (game development), veri analitiği (data analytics), veri bilimi (data science), makine öğrenimi (machine learning) ve çok daha fazlası için yaygın olarak kullanılmaktadır.
Basit bir söz dizimi (syntax) vardır, bu da öğrenilmesinin daha kolay olduğu anlamına gelir.
Tasarım felsefesi, önemli bir özelliği olan "indentation" (1) özelliğiyle kod okunabilirliğine önem verir. Dinamik çeşit kontrollü (2) ve çöp toplama hafıza yönetimlidir (3). Yapılandırılmış programlama (4), nesne yönelimli programlama (5) ve fonksiyonel programlama (6) dâhil olmak üzere çoklu programlama paradigmalarını (7) destekler. Kapsamlı standart kütüphanesi sebebiyle genellikle "batteries included" (8) bir dil olarak tanımlanır.
Guido van Rossum (9), 1980'lerin sonlarında ABC programlama dilinin (10) halefi olarak Python üzerinde çalışmaya başladı ve dili ilk olarak 1991 senesinde "Python 0.9.0" olarak piyasaya sürdü. Python 2.0, 2000 senesinde piyasaya sürüldü ve liste kavrama (11), döngü algılamalı çöp toplama (12), referans sayma (13) ve Unicode desteği (14) gibi yeni özellikler sundu. 2008 senesinde piyasaya sürülen Python 3.0, önceki sürümlerle tamamen geriye dönük uyumlu olmayan büyük bir revizyondu. Python 2 ise 2020 senesinde "2.7.18" versiyonundayken kullanımdan kaldırıldı.
***
Dünyadaki en popüler programlama dillerinden birisidir. Öyle ki Stack Overflow 2020 Geliştirici Anketi'ne (Stack Overflow’s 2020 Developer Survey, bootcamp.berkeley.edu/... ) göre %41,6 oran ile geliştiricilerin (developer) en çok kullandığı 4'üncü dildir. İlk sırada %69,7 ile JavaScript, 2'nci sırada %62,4 ile HTML/CSS, 3'üncü sırada %56,9 ile SQL ve 4'üncü sırada %41,6 ile Python yer alır.
2003 senesinden bu yana TiOBE Endeksi'nde (TiOBE index, www.tiobe.com/... ) sürekli olarak en popüler 10 programlama dili arasında yer almaktadır. Yine TiOBE Endeksi'nde yer alan ve 2003 ila 2021 senelerini kapsayan (ikisi de dâhil) "Programlama Dili Onur Listesi" (Programming Language Hall of Fame) isimli listede 2007, 2010, 2018, 2020 ve 2021 senelerinin dili seçilmiştir.
Deneysel bir çalışma, Python gibi betik dillerinin, bir sözlükte (dictionary) dize manipülasyonunu (string manipulation) ve aramayı içeren programlama problemlerinde "C" ve "Java" gibi geleneksel dillerden daha üretken olduğunu buldu ve bellek tüketiminin genellikle "Java" diline göre daha iyi olduğunu ve "C" veya "C++" dilinden çok kötü olmadığını belirledi.
Python kullanan bazı büyük kuruluşlar şunlardır: Wikipedia, Google, Yahoo!, CERN (European Organization for Nuclear Research), NASA (National Aeronautics and Space Administration), Facebook, Amazon, instagram ve Spotify. Python kullanan bazı küçük kuruluşlar da şunlardır: iLM (industrial Light & Magic) ve iTA.
***
Şu anda son versiyonu 24 Ekim 2022 tarihinde piyasaya sunulan 3.11.0 versiyonudur.
1) Programlama dillerinde yeni bir bölümün başlangıcını işaret etmek için kullanılan bir özellik. Türkçeye "girinti" olarak çevirebiliriz.
2) Bir programın, çalışma zamanında çeşit güvenliğini doğrulama işlemi. İngilizcesi "dynamic type checking" şeklindedir.
3) Bir otomatik bellek yönetimi biçimi. İngilizcesi "garbage collection" ve yine İngilizce kısaltması "GC" şeklindedir.
4) Seçim (if/then/else), tekrar (while ve for) ve alt programlar blok yapılarından oluşan yapılandırılmış kontrol akışı yapılarını kapsamlı bir şekilde kullanarak bir bilgisayar programının netliğini, kalitesini ve geliştirme süresini iyileştirmeyi amaçlayan bir programlama paradigması. İngilizcesi "structured programming" şeklindedir.
5) Veri ve kod içerebilen "nesneler" kavramına dayanan bir programlama paradigması. Veriler, alanlar biçimindeki veriler (Genellikle "attributes" veya "properties" olarak bilinir.); kodlar ise "procedure" biçimindeki kodlardır (Genellikle "methods" olarak bilinir.). İngilizcesi "Object-Oriented Programming" ve yine İngilizce kısaltması "OOP" şeklindedir.
6) Bilgisayar biliminde programların fonksiyonlar uygulanarak ve oluşturularak yapıldığı bir programlama paradigması. İngilizcesi "functional programming" şeklindedir.
7) Programlama paradigmaları, programlama dillerini özelliklerine göre sınıflandırma yöntemleridir. Örnek: nesne yönelimli programlama (Object-Oriented Programming, OOP) bir programlama paradigmasıdır.
8) Yazılım dünyasında yazılımın tam kullanılabilirlik için gerekli tüm parçalarla birlikte geldiğini belirten argo bir ifade. Türkçeye "piller dâhil" olarak çevrilebilir diye düşünüyorum.
9) 31 Ocak 1956 tarihinde Hollanda'da doğan, Python programlama dilinin yaratıcısı olan bir programcı.
10) Leo Geurts, Lambert Meertens ve Steven Pemberton tarafından Hollanda'da geliştirilen bir genel amaçlı programlama dili ve tümleşik geliştirme ortamıdır (iDE, integrated Development Environment).
11) Mevcut listelere dayalı bir liste oluşturmak için bazı programlama dillerinde bulunan söz dizimsel bir yapı. İngilizcesi "list comprehension" şeklindedir.
12) Bilgisayar biliminde döngü algılama, tekrarlanan fonksiyon değerleri dizisinde bir döngü bulmanın algoritmik problemidir. İngilizcesi "cycle detection" şeklindedir.
13) Bir nesne, bir bellek bloğu, disk alanı ve diğerleri gibi bir kaynağa doğru yapılan referansların, işaretçilerin veya işleyicilerin sayısını depolamaya yönelik bir programlama tekniği.
14) Dünyadaki çoğu yazı sisteminde ifade edilen metnin tutarlı bir şekilde kodlanması, temsili ve işlenmesi amacıyla kullanılan bir bilgi teknolojisi standardı. İngilizcesi "Unicode" şeklindedir ve resmî dilde "The Unicode Standard" olarak geçer.