Python, nesne yönelimli, yorumlamalı, birimsel (modüler) ve etkileşimli bir programlama dilidir.
Paradigması | çok paradigmalı: nesne yönelimli, zorunlu, fonksiyonel, |
---|---|
İlk çıkışı | 20 Şubat 1991 |
Tasarımcı | Guido van Rossum |
Geliştirici | Python Yazılım Vakfı |
Kararlı sürüm | 3.11.4 / 6 Haziran 2023 | ) (06.06.2023)
Önizleme sürümü | 3.12.0a6 (8 Mart 2023 | ) )
, | |
CPython, IronPython, Jython, , PyPy, | |
, | |
Etkilendikleri | ABC, ALGOL 68, C, Haskell, , Java, Lisp, , Perl |
Etkiledikleri | Boo, , D, , Groovy, Ruby, JavaScript, , |
Platformu | Çapraz platform |
İşletim sistemi | macOS, Linux, Windows, OpenBSD, FreeBSD |
Lisans | |
Olağan dosya uzantıları | .py, .pyw, .pyc, .pyo, .pyd, .pyz |
Web sitesi | www.python.org |
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. Python 2.x geliştirilme desteğinin sona ermesinin ardından, Python dilinin 3.7.x ve sonraki sürümlerinin geliştirilmesi devam etmektedir.
Geçmiş
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. 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.
Kullanım
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.
Aynı zamanda Python Siber Güvenlik için çok kullanışlı bir programlama dilidir. Kötü amaçlı yazılım analizi ve sızma testi dahil olmak üzere birçok siber güvenlik işlevini yerine getirebilir.
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.
Söz dizimi
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.
Girintileme
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, 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.
İfadeler ve akış kontrolü
Python ifadeleri şunları içerir:
if
ifadesi, bir kod blokunu belli bir koşula bağlı olarak,else
veelif
(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 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 birlikteprint()
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.
Metotlar
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, , Ruby gibi bazı diğer nesne tabanlı programlama diliyle farklılık gösterir.
Standart kütüphane
Python'un çok büyük bir standart kütüphanesi 30 Mart 2020 tarihinde Wayback Machine sitesinde . vardır. Bu, dilin artı özelliklerinden biri olarak kabul edilir.
Örnekler
Python 3 ve üstü sürümler için uygundur.
Merhaba dünya
# -*- coding: utf-8 -*- print("Merhaba Dünya")
Yorum satırları
#Tek satırlık bir python yorumu
"""Bu çok satırlı bir python yorumu"""
Girdi alma ve ekrana basma
veri = input('Bir veri giriniz:') print(veri)
Veri Tipleri
Veri tipi | Değiştirilebilir | Açıklama | Örnekleri |
---|---|---|---|
bool | hayır | Boole'sal değer | True False |
bytearray | evet | dızi | bytearray(b'Some ASCII') bytearray(b"Some ASCII") bytearray([119, 105, 107, 105]) |
bytes | hayır | Bytelardan oluşan dizi | b'ASCII' b"ASCII" bytes([119, 105, 107, 105]) |
complex | hayır | Karmaşık sayı | 3+2.7j |
dict | evet | Komut çizelgesi | {'anahtar1': 1.0, 3: False}{} |
float | hayır | Kayan nokta | 1.414 |
int | hayır | Tamsayı | 42 |
list | evet | Farklı veri tiplerinden oluşan bir liste, array olarak ifade edilebilir | [4.0, 'string', True] [] |
NoneType | hayır | Değerin yokluğunu ifade eden veri tipi, diğer dillerde null olarak bilinir. | None |
range | hayır | İki sayı arasındaki aralık, for döngülerinde yaygın olarak kullanılır | range(1, 10) range(10, -5, -2) |
set | evet | Sırasız küme, değerler tekrar edemez | {4.0, 'string', True} set() |
str | hayır | Karakter dizisi | 'Vikipedi' "Vikipedi" """ Birden Fazla Satır""" |
tuple | hayır | değiştirilemez liste | (4.0, 'string', True) ('element',)() |
Sürüm Geçmişi
Sürüm | Tarih |
---|---|
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 |
3.11 | 24 Ekim 2022 |
3.12 | 2 Ekim 2023 |
İsim Kaynağı
Python'un ismi, dilin yaratıcısı olan Guido van Rossum'un dili geliştirirken keyif aldığı İngiliz komedi grubu Monty Python'dan gelmektedir. Monty Python’a ait birçok atıf Python kodunda ve kültüründe sıklıkla görülebilir. Ö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çer. Resmi Python belgeleri ayrıca Monty Python rutinlerine çeşitli referanslar içerir. 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.
Popülerlik
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ır. 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.
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ır.
Python kullanan büyük kuruluşlar arasında Wikipedia, Google,Yahoo! CERN, NASA,Facebook, Amazon, Instagram ve Spotify gibi bazı kuruluşlar yer almaktadır. Sosyal haber ağı sitesi Reddit, çoğunlukla Python ile yazılmıştır.
Python'dan Etkilenen Programlama Dilleri
Python programlama dilinin tasarımı ve felsefesi, diğer birçok programlama diline de ilham vermiş veya bu dillere etki etmiştir:
- Boo, benzer bir girintileme, sözdizimi ve nesne modeli kullanır.
- Cobra, benzer bir girintileme ve sözdizimi kullanır ve “Teşekkürler” kısmında bu dilin gelişimine ilham olan diller arasında Python ilk sırada yer alır.
- JavaScript ile çapraz derlenen bir programlama dili olan CoffeeScript, Python'dan ilham almış bir sözdizimine sahiptir.
- ECMAScript/JavaScript, Python'dan yineleyiciler ve oluşturucular ödünç almıştır.
- Python'a çok benzeyen bir betik dil olan GDScript, Godot oyun motoruna yerleştirilmiştir.
- Go, "Python gibi dinamik bir dilde çalışma hızı" ve dizileri dilimlemek için aynı sözdizimini paylaşması için tasarlanmıştır.
- Groovy, Python tasarım felsefesini Java'ya getirme motivasyonuyla geliştirilmiştir.
- Julia, “genel programlama için Python kadar kullanılabilir” olma hedefiyle tasarlanmıştır.
- Nim, girintileme ve benzer sözdizimi kullanır.
- Ruby'nin yaratıcısı Yukihiro Matsumoto Ruby’in gelişimine yönelik şunları ifade etmiştir: "Perl'den daha güçlü ve Python'dan daha nesne yönelimli bir betik dil hedefliyordum. Bu yüzden kendi dilimi tasarlamaya karar verdim."
- Apple tarafından geliştirilen bir programlama dili olan Swift, Python'dan ilham alan bir sözdizimine sahiptir.
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, Erlang, ve Swift'de de kullanılmaktadır.
Ayrıca bakınız
Kaynakça
- ^ . 9 Mart 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 9 Mart 2023.
- ^ . 18 Mart 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 18 Mart 2023.
- ^ "Arşivlenmiş kopya". 24 Ekim 2012 tarihinde kaynağından . Erişim tarihi: 13 Aralık 2014.
- ^ . Python.org (İngilizce). 12 Ocak 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 22 Eylül 2019.
- ^ . Python.org (İngilizce). 13 Ocak 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 22 Eylül 2019.
- ^ . devguide.python.org. 9 Kasım 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 15 Kasım 2020.
- ^ . 5 Nisan 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 23 Nisan 2023.
- ^ . 30 Ekim 2012 tarihinde kaynağından arşivlendi.
- ^ "Python.org". 2 Kasım 2012 tarihinde kaynağından .
- ^ . Makale. Beyaznet. 16 Ağustos 2021 tarihinde kaynağından arşivlendi. Erişim tarihi: 18 Eylül 2023.
- ^ . 13 Ekim 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 3 Haziran 2015.
- ^ "Whetting Your Appetite". The Python Tutorial. Python Software Foundation. Archived from the original on 26 October 2012. Retrieved 20 February 2012.
- ^ "In Python, should I use else after a return in an if block?". Stack Overflow. Stack Exchange. 17 February 2011. Archived from the original on 20 June 2019. Retrieved 6 May 2011.
- ^ Lutz, Mark (2009). Learning Python: Powerful Object-Oriented Programming. O'Reilly Media, Inc. p. 17. . Archived from the original on 17 July 2017. Retrieved 9 May 2017. Fehily, Chris (2002). Python. Peachpit Press. p. xv.
- ^ . TIOBE. 29 Temmuz 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 3 Ocak 2023.
The TIOBE Programming Community index is an indicator of the popularity of programming languages
Updated as required. - ^ "TIOBE Index for January 2021". 21 Mart 2021 tarihinde kaynağından . Erişim tarihi: 19 Aralık 2021.
- ^ "TIOBE Index for December 2021". 25 Şubat 2018 tarihinde kaynağından . Erişim tarihi: 19 Aralık 2021.
- ^ (PDF). 3 Ocak 2020 tarihinde kaynağından (PDF) arşivlendi. Erişim tarihi: 19 Aralık 2021.
- ^ "Qutotes about Python". 3 Haziran 2020 tarihinde kaynağından . Erişim tarihi: 19 Aralık 2021.
- ^ "Organizations Using Python". 5 Haziran 2020 tarihinde kaynağından . Erişim tarihi: 19 Aralık 2021.
- ^ "Python : the holy grail of programming". 10 Mayıs 2021 tarihinde kaynağından . Erişim tarihi: 19 Aralık 2021.
- ^ "Python Success Stories". 5 Haziran 2020 tarihinde kaynağından . Erişim tarihi: 19 Aralık 2021.
- ^ "Tornado: Facebook's Real-Time Web Framework for Python". 19 Şubat 2019 tarihinde kaynağından . Erişim tarihi: 19 Aralık 2021.
- ^ "What Powers Instagram: Hundreds of Instances, Dozens of Technologies". 15 Haziran 2020 tarihinde kaynağından . Erişim tarihi: 19 Aralık 2021.
- ^ "How we use Python at Spotify". 10 Haziran 2020 tarihinde kaynağından . Erişim tarihi: 19 Aralık 2021.
- ^ "Reddit Archieve Code". 1 Haziran 2020 tarihinde kaynağından . Erişim tarihi: 19 Aralık 2021.
- ^ . 11 Aralık 2008 tarihinde kaynağından arşivlendi. Erişim tarihi: 19 Aralık 2021.
- ^ "Acknowledgements". 8 Şubat 2008 tarihinde kaynağından . Erişim tarihi: 19 Aralık 2021.
- ^ . 20 Ekim 2007 tarihinde kaynağından arşivlendi. Erişim tarihi: 19 Aralık 2021.
- ^ "Frequently Asked Questions". 28 Nisan 2021 tarihinde kaynağından . Erişim tarihi: 19 Aralık 2021.
- ^ "Google's Go: A New Programming Language That's Python Meets C++". 18 Ocak 2010 tarihinde kaynağından . Erişim tarihi: 19 Aralık 2021.
- ^ . 5 Nisan 2007 tarihinde kaynağından arşivlendi. Erişim tarihi: 19 Aralık 2021.
- ^ "Why We Created Julia". 2 Mayıs 2020 tarihinde kaynağından . Erişim tarihi: 19 Aralık 2021.
- ^ "Nim language draws from best of Python, Rust, Go, and Lisp". 13 Ekim 2018 tarihinde kaynağından . Erişim tarihi: 19 Aralık 2021.
- ^ . 28 Nisan 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 19 Aralık 2021.
- ^ . 22 Aralık 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 19 Aralık 2021.
- ^ "TIP 3: TIP Format". 13 Temmuz 2017 tarihinde kaynağından . Erişim tarihi: 19 Aralık 2021.
- ^ . 21 Ocak 2008 tarihinde kaynağından arşivlendi.
- ^ "Swift Programming Language Evolution repository on GitHub". 27 Nisan 2020 tarihinde kaynağından . Erişim tarihi: 19 Aralık 2021.
Dış bağlantılar
- Python Programlama Dili - Python 3 için Türkçe Kaynak 27 Ocak 2020 tarihinde Wayback Machine sitesinde .
- Python programlama dili resmi sitesi17 Nisan 2018 tarihinde Wayback Machine sitesinde . (İngilizce)
- www.learningpython.com 21 Temmuz 2014 tarihinde Wayback Machine sitesinde . (İngilizce)
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Python nesne yonelimli yorumlamali birimsel moduler ve etkilesimli bir programlama dilidir PythonParadigmasicok paradigmali nesne yonelimli zorunlu fonksiyonel Ilk cikisi20 Subat 1991TasarimciGuido van RossumGelistiriciPython Yazilim VakfiKararli surum3 11 4 6 Haziran 2023 12 ay once 2023 06 06 06 06 2023 Onizleme surumu3 12 0a6 8 Mart 2023 15 ay once 2023 03 08 CPython IronPython Jython PyPy EtkilendikleriABC ALGOL 68 C Haskell Java Lisp PerlEtkiledikleriBoo D Groovy Ruby JavaScript PlatformuCapraz platformIsletim sistemimacOS Linux Windows OpenBSD FreeBSDLisansOlagan dosya uzantilari py pyw pyc pyo pyd pyzWeb sitesiwww python org Girintilere dayali basit soz dizimi dilin ogrenilmesini ve akilda kalmasini kolaylastirir Bu da ona soz diziminin ayrintilari ile vakit yitirmeden programlama yapilmaya baslanabilen bir dil olma ozelligi kazandirir Moduler yapisi sinif dizgesini sistem ve her turlu veri alani girisini destekler Hemen hemen her turlu platformda calisabilir Unix Linux Mac Windows Amiga Symbian Python ile sistem programlama kullanici arabirimi programlama ag programlama web programlama uygulama ve veri tabani yazilimi programlama gibi bircok alanda yazilim gelistirebilirsiniz Buyuk yazilimlarin hizli bir sekilde prototiplerinin uretilmesi ve denenmesi gerektigi durumlarda da C ya da C gibi dillere tercih edilir Python 1980 lerin sonunda ABC programlama diline alternatif olarak tasarlanmisti Python 2 0 ilk kez 2000 yilinda yayinlandi 2008 de yayinlanan Python 3 0 dilin onceki versiyonuyla tam uyumlu degildir ve Python 2 x te yazilan kodlarin Python 3 x te calismasi icin degistirilmesi gerekmektedir Python 2 versiyonun resmi gelistirilme sureci dilin son surumu olan Python 2 7 x serisi versiyonlarin ardindan 1 Ocak 2020 itibariyla resmi olarak sona erdi Python 2 x gelistirilme desteginin sona ermesinin ardindan Python dilinin 3 7 x ve sonraki surumlerinin gelistirilmesi devam etmektedir GecmisGuido van Rossum Gelistirilmeye 1990 yilinda Guido van Rossum tarafindan Amsterdam da baslanmistir Adini sanilanin aksine bir yilandan degil Guido van Rossum un cok sevdigi Monty Python adli alti kisilik bir Ingiliz komedi grubunun Monty Python s Flying Circus adli gosterisinden almistir Gunumuzde Python Yazilim Vakfi cevresinde toplanan gonullulerin cabalariyla surdurulmektedir Python 1 0 surumune Ocak 1994 te ulasmistir 2 0 surumu 16 Ekim 2000 de yayinlanmistir 3 Aralik 2008 tarihinden itibaren 3 x serisi yayinlanmaya baslamistir ancak 3 x serisi 2 x serisiyle uyumlu degildir KullanimPython destekli veya tabanli diger yazilimlar Django Zope uygulama sunuculari YouTube ve orijinal BitTorrent istemcisi Python kullanan onemli projelerden bazilaridir Ayrica Google NASA ve CERN gibi buyuk kurumlar da Python kullanmaktadir Pygame ile 2D oyun yapilabilir Blockchain uygulamalari kodlanabilir uzaktan kontrol veya goruntu isleme yapilabilir veri analizi veya veri kontrolu yapilabilir TensorFlow PyTorch Keras gibi kutuphanlerle derin makine ogrenmesi uygulamalari yapilabilir Ayni zamanda Python Siber Guvenlik icin cok kullanisli bir programlama dilidir Kotu amacli yazilim analizi ve sizma testi dahil olmak uzere bircok siber guvenlik islevini yerine getirebilir Ayrica OpenOffice org GIMP Inkscape Blender Scribus ve Paint Shop Pro gibi bazi programlarda betik dili olarak kullanilir Pek cok Linux dagitiminda ve Apple macOS isletim sisteminde Python ontanimli bir bilesen olarak gelir Soz dizimiPython programlama dilinin soz dizimi ve renklendirmesi Python un son derece kolay okunabilir olmasi dusunulmustur Bu yuzden ornegin kume parantezleri yerine girintileme islemi kullanilir Hatta bazi durumlarda girintileme islemine dahi gerek kalmadan kodun ilgili bolumu tek satirda yazilabilir Boylece Python program kodunuzu en az caba ile ve hizlica yazmaniza imkan tanir Sade sozdizimi ile diger programlama dillerinden ustundur Girintileme Python 3 Standart tip hiyerarsisi Bakiniz gt gt gt help TYPES Python da ifade bloklarini sinirlandirmak icin suslu ayraclar ya da anahtar kelimeler yerine beyaz bosluk girintileme kullanilir Belli ifadelerden sonra girinti artar girintinin azalmasi gecerli blokun sonlandigini gosterir Islecler isleci carpma islemleri icin isleci bolme islemleri icin isleci tam sayi bolme islemleri icin isleci toplama islemleri icin isleci cikarma islemleri icin isleci mod alma islemleri icin lt isleci kucuktur anlamina gelir gt isleci buyuktur anlamina gelir isleci esittir anlamina gelir lt isleci kucuk esittir anlamina gelir gt isleci buyuk esittir anlamina gelir isleci esit degil anlamina gelir isleci us alma anlamina gelir True isleci dogru anlamina gelir False isleci yanlis anlamina gelir and isleci ve anlamina gelir or isleci veya anlamina gelir not isleci degil anlamina gelir Ifadeler ve akis kontrolu Python ifadeleri sunlari icerir if ifadesi bir kod blokunu belli bir kosula bagli olarak else ve elif else if in kisaltilmasi ile birlikte calistirir for ifadesi yinelenebilir bir nesne uzerinden yineleme yapar bu sirada ilgili bloktaki her ogeyi bir yerel degiskene atar while ifadesi kosulu dogru oldugu surece o kod blogunu calistirir try ifadesi eklenmis kod blogundan dolayi olusan hatalari yakalar ve except maddeleriyle ayrica finally blokundaki temizleme kodunun blok nasil sonlanirsa sonlansin calistirilmasini saglar class ifadesi bir kod blokunu calistirir ve onun yerel adalanini bir sinifa atar bu sayede o sinif Nesne Yonelimli Programlamada kullanilabilir def ifadesi ile fonksiyon tanimlanir with ifadesi bir kod blokunu bir icerik yoneticisine hapseder ornegin bir kod bloku calisitirilmadan once bir kilit edinir ve sonrasinda bu kilidi cozer pass ifadesi bir gorevi gorur ve gecici kod bloku yerine kullanilabilir print ifadesi bir ekrana yazdirma gorevi gorur Bu ifade Python 3 surumuyle birlikte print fonksiyonu ile degistirildi Her ifadenin kendi sozdizimi vardir ornegin def ifadesi diger ifadelerin genelinin aksine blokunu aninda calistirmaz Metotlar Nesneler uzerindeki metotlar nesnenin sinifina eklenmis fonksiyonlardir ornek metod degisken sozdizimi normal metot ve fonksiyonlar icin Sinif metod ornek degisken ifadesi icin bir sozdizimsel sekerdir Python metotlarinin ornek verisine ulasmalari icin acik self parametresine sahip olmalari gerekir Bu durum Java C Ruby gibi bazi diger nesne tabanli programlama diliyle farklilik gosterir Standart kutuphanePython un cok buyuk bir standart kutuphanesi 30 Mart 2020 tarihinde Wayback Machine sitesinde vardir Bu dilin arti ozelliklerinden biri olarak kabul edilir OrneklerPython 3 ve ustu surumler icin uygundur Merhaba dunya coding utf 8 print Merhaba Dunya Yorum satirlari Tek satirlik bir python yorumu Bu cok satirli bir python yorumu Girdi alma ve ekrana basma veri input Bir veri giriniz print veri Veri TipleriVeri tipi Degistirilebilir Aciklama Ornekleribool hayir Boole sal deger True Falsebytearray evet dizi bytearray b Some ASCII bytearray b Some ASCII bytearray 119 105 107 105 bytes hayir Bytelardan olusan dizi b ASCII b ASCII bytes 119 105 107 105 complex hayir Karmasik sayi 3 2 7 jdict evet Komut cizelgesi anahtar1 1 0 3 False float hayir Kayan nokta 1 414int hayir Tamsayi 42list evet Farkli veri tiplerinden olusan bir liste array olarak ifade edilebilir 4 0 string True NoneType hayir Degerin yoklugunu ifade eden veri tipi diger dillerde null olarak bilinir Nonerange hayir Iki sayi arasindaki aralik for dongulerinde yaygin olarak kullanilir range 1 10 range 10 5 2 set evet Sirasiz kume degerler tekrar edemez 4 0 string True set str hayir Karakter dizisi Vikipedi Vikipedi Birden Fazla Satir tuple hayir degistirilemez liste 4 0 string True element Surum GecmisiSurum Tarih0 9 20 Subat 19911 0 26 Ocak 19941 1 11 Ekim 19941 2 13 Nisan 19951 3 13 Ekim 19951 4 25 Ekim 19961 5 31 Aralik 19971 6 5 Eylul 20002 0 16 Ekim 20002 1 15 Nisan 20012 2 21 Aralik 20012 3 29 Haziran 20032 4 30 Kasim 20042 5 19 Eylul 20062 6 1 Ekim 20082 7 3 Temmuz 20103 0 3 Aralik 20083 1 27 Haziran 20093 2 20 Subat 20113 3 19 Eylul 20123 4 16 Mart 20143 5 13 Eylul 20153 6 23 Aralik 20163 7 27 Haziran 20183 8 14 Ekim 20193 9 5 Ekim 20203 10 4 Ocak 20213 11 24 Ekim 20223 12 2 Ekim 2023Isim KaynagiPython un ismi dilin yaraticisi olan Guido van Rossum un dili gelistirirken keyif aldigi Ingiliz komedi grubu Monty Python dan gelmektedir Monty Python a ait bircok atif Python kodunda ve kulturunde siklikla gorulebilir Ornegin Python literaturunde siklikla kullanilan metasentaktik degiskenler diger dillerde bulunan geleneksel foo ve bar yerine spam ve eggs olarak gecer Resmi Python belgeleri ayrica Monty Python rutinlerine cesitli referanslar icerir Py on eki bir seyin Python ile ilgili oldugunu gostermek icin kullanilir Python uygulamalarinin veya kitapliklarinin adlarinda bu on ekin kullanimina icin Pygame Qt ve GTK yi Python a baglayan PyQt ve PyGTK ve orijinal olarak Python dilinde yazilmis bir Python uygulamasi olan PyPy bunlara ornek olarak verilebilir Populerlik2003 yilindan itibaren PythonTIOBE Programlama Toplulugu Endeksi nde en populer 10 programlama dili arasinda istikrarli bir sekilde yer alirken Ekim 2021 itibariyla Java ve C programlama dillerini gecerek en populer dil konumunda bulunmaktadir 2007 2010 2018 and 2020 yillarinda ise bir yil icerisindeki en yuksek kademe artisi catisi altinda Yilin Programlama Dili secilmistir ve bunu 4 kez yapabilen tek dildir Deneysel bir akademik calisma Python gibi komut dosyasi yazma dillerinin dize islemeyi ve sozlukte aramayi iceren programlama sorunlari icin C ve Java gibi geleneksel dillerden daha uretken oldugunu raporlamis bellek tuketiminin genellikle Java dan daha verimli ve C veya C dan cok daha verimsiz olmadigini saptamistir Python kullanan buyuk kuruluslar arasinda Wikipedia Google Yahoo CERN NASA Facebook Amazon Instagram ve Spotify gibi bazi kuruluslar yer almaktadir Sosyal haber agi sitesi Reddit cogunlukla Python ile yazilmistir Python dan Etkilenen Programlama DilleriPython programlama dilinin tasarimi ve felsefesi diger bircok programlama diline de ilham vermis veya bu dillere etki etmistir Boo benzer bir girintileme sozdizimi ve nesne modeli kullanir Cobra benzer bir girintileme ve sozdizimi kullanir ve Tesekkurler kisminda bu dilin gelisimine ilham olan diller arasinda Python ilk sirada yer alir JavaScript ile capraz derlenen bir programlama dili olan CoffeeScript Python dan ilham almis bir sozdizimine sahiptir ECMAScript JavaScript Python dan yineleyiciler ve olusturucular odunc almistir Python a cok benzeyen bir betik dil olan GDScript Godot oyun motoruna yerlestirilmistir Go Python gibi dinamik bir dilde calisma hizi ve dizileri dilimlemek icin ayni sozdizimini paylasmasi icin tasarlanmistir Groovy Python tasarim felsefesini Java ya getirme motivasyonuyla gelistirilmistir Julia genel programlama icin Python kadar kullanilabilir olma hedefiyle tasarlanmistir Nim girintileme ve benzer sozdizimi kullanir Ruby nin yaraticisi Yukihiro Matsumoto Ruby in gelisimine yonelik sunlari ifade etmistir Perl den daha guclu ve Python dan daha nesne yonelimli bir betik dil hedefliyordum Bu yuzden kendi dilimi tasarlamaya karar verdim Apple tarafindan gelistirilen bir programlama dili olan Swift Python dan ilham alan bir sozdizimine sahiptir Python un gelistirme uygulamalari diger diller tarafindan da taklit edilmistir Ornegin Python da PEP olarak gecen bu dile yonelik bir degisikligin gerekcesini ve bununla ilgili konulari aciklayan belge talep etme uygulamasi Tcl Erlang ve Swift de de kullanilmaktadir Ayrica bakinizPyTorch Python Imaging Library Pygame Tkinter ScientificPython Perl KivyKaynakca 9 Mart 2023 tarihinde kaynagindan arsivlendi Erisim tarihi 9 Mart 2023 18 Mart 2023 tarihinde kaynagindan arsivlendi Erisim tarihi 18 Mart 2023 Arsivlenmis kopya 24 Ekim 2012 tarihinde kaynagindan Erisim tarihi 13 Aralik 2014 Python org Ingilizce 12 Ocak 2020 tarihinde kaynagindan arsivlendi Erisim tarihi 22 Eylul 2019 Python org Ingilizce 13 Ocak 2020 tarihinde kaynagindan arsivlendi Erisim tarihi 22 Eylul 2019 devguide python org 9 Kasim 2020 tarihinde kaynagindan arsivlendi Erisim tarihi 15 Kasim 2020 5 Nisan 2023 tarihinde kaynagindan arsivlendi Erisim tarihi 23 Nisan 2023 30 Ekim 2012 tarihinde kaynagindan arsivlendi Python org 2 Kasim 2012 tarihinde kaynagindan Makale Beyaznet 16 Agustos 2021 tarihinde kaynagindan arsivlendi Erisim tarihi 18 Eylul 2023 13 Ekim 2018 tarihinde kaynagindan arsivlendi Erisim tarihi 3 Haziran 2015 Whetting Your Appetite The Python Tutorial Python Software Foundation Archived from the original on 26 October 2012 Retrieved 20 February 2012 In Python should I use else after a return in an if block Stack Overflow Stack Exchange 17 February 2011 Archived from the original on 20 June 2019 Retrieved 6 May 2011 Lutz Mark 2009 Learning Python Powerful Object Oriented Programming O Reilly Media Inc p 17 ISBN 9781449379322 Archived from the original on 17 July 2017 Retrieved 9 May 2017 Fehily Chris 2002 Python Peachpit Press p xv TIOBE 29 Temmuz 2016 tarihinde kaynagindan arsivlendi Erisim tarihi 3 Ocak 2023 The TIOBE Programming Community index is an indicator of the popularity of programming languages Updated as required TIOBE Index for January 2021 21 Mart 2021 tarihinde kaynagindan Erisim tarihi 19 Aralik 2021 TIOBE Index for December 2021 25 Subat 2018 tarihinde kaynagindan Erisim tarihi 19 Aralik 2021 PDF 3 Ocak 2020 tarihinde kaynagindan PDF arsivlendi Erisim tarihi 19 Aralik 2021 Qutotes about Python 3 Haziran 2020 tarihinde kaynagindan Erisim tarihi 19 Aralik 2021 Organizations Using Python 5 Haziran 2020 tarihinde kaynagindan Erisim tarihi 19 Aralik 2021 Python the holy grail of programming 10 Mayis 2021 tarihinde kaynagindan Erisim tarihi 19 Aralik 2021 Python Success Stories 5 Haziran 2020 tarihinde kaynagindan Erisim tarihi 19 Aralik 2021 Tornado Facebook s Real Time Web Framework for Python 19 Subat 2019 tarihinde kaynagindan Erisim tarihi 19 Aralik 2021 What Powers Instagram Hundreds of Instances Dozens of Technologies 15 Haziran 2020 tarihinde kaynagindan Erisim tarihi 19 Aralik 2021 How we use Python at Spotify 10 Haziran 2020 tarihinde kaynagindan Erisim tarihi 19 Aralik 2021 Reddit Archieve Code 1 Haziran 2020 tarihinde kaynagindan Erisim tarihi 19 Aralik 2021 11 Aralik 2008 tarihinde kaynagindan arsivlendi Erisim tarihi 19 Aralik 2021 Acknowledgements 8 Subat 2008 tarihinde kaynagindan Erisim tarihi 19 Aralik 2021 20 Ekim 2007 tarihinde kaynagindan arsivlendi Erisim tarihi 19 Aralik 2021 Frequently Asked Questions 28 Nisan 2021 tarihinde kaynagindan Erisim tarihi 19 Aralik 2021 Google s Go A New Programming Language That s Python Meets C 18 Ocak 2010 tarihinde kaynagindan Erisim tarihi 19 Aralik 2021 5 Nisan 2007 tarihinde kaynagindan arsivlendi Erisim tarihi 19 Aralik 2021 Why We Created Julia 2 Mayis 2020 tarihinde kaynagindan Erisim tarihi 19 Aralik 2021 Nim language draws from best of Python Rust Go and Lisp 13 Ekim 2018 tarihinde kaynagindan Erisim tarihi 19 Aralik 2021 28 Nisan 2018 tarihinde kaynagindan arsivlendi Erisim tarihi 19 Aralik 2021 22 Aralik 2015 tarihinde kaynagindan arsivlendi Erisim tarihi 19 Aralik 2021 TIP 3 TIP Format 13 Temmuz 2017 tarihinde kaynagindan Erisim tarihi 19 Aralik 2021 21 Ocak 2008 tarihinde kaynagindan arsivlendi Swift Programming Language Evolution repository on GitHub 27 Nisan 2020 tarihinde kaynagindan Erisim tarihi 19 Aralik 2021 Dis baglantilarPython Programlama Dili Python 3 icin Turkce Kaynak 27 Ocak 2020 tarihinde Wayback Machine sitesinde Python programlama dili resmi sitesi17 Nisan 2018 tarihinde Wayback Machine sitesinde Ingilizce www learningpython com 21 Temmuz 2014 tarihinde Wayback Machine sitesinde Ingilizce