Python (programlama dili)

Gezinti kısmına atla Arama kısmına atla
Python
Python logo and wordmark.svg
Paradigması çok paradigmalı: nesne yönelimli, zorunlu, fonksiyonel, yansıtıcı
İlk çıkışı 1991
Tasarımcı Guido van Rossum
Geliştirici Python Yazılım Vakfı
Kararlı sürüm 3.8.2 / 24 Şubat 2020 (41 gün önce) (2020-02-24)[1]
2.7.17 / 19 Ekim 2019 (5 ay önce) (2019-10-19)[2]
Önizleme sürümü

3.9.0a4

(26 Şubat 2020 (39 gün önce) (2020-02-26)[3])
Tip sistemi güçlü, dinamik
Önemli uygulamaları CPython, IronPython, Jython, Python for S60, PyPy, Unladen Swallow
Lehçeleri Stackless Python, RPython
Etkilendikleri ABC, ALGOL 68, C, Haskell, Icon, Java, Lisp, Modula-3, Perl
Etkiledikleri Boo, Cobra, D, Falcon, Groovy, Ruby, JavaScript, Comfy
Platformu çapraz platform
İşletim sistemi Python Yazılım Vakfı Lisansı
Lisans Python Software Foundation License
Olağan dosya uzantıları .py, .pyw, .pyc, .pyo, .pyd, .pyz
Web sitesi www.python.org

Python, nesne yönelimli, yorumlamalı, birimsel (modüler) ve etkileşimli yüksek seviyeli bir programlama dilidir.[4]

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ş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ınlana 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.[5][6] Python 2.x geliştirilme desteğinin sona ermesinin ardından, Python dilinin 3.5.x ve sonraki sürümlerinin geliştirilmesi devam etmektedir.[7]

Geçmiş[değiştir | kaynağı değiştir]

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. 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.

Kullanım[değiştir | kaynağı değiştir]

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 öntanımlı bir bileşen olarak gelir.

Sözdizimi[değiştir | kaynağı değiştir]

Python programlama dilinin söz dizimi ve renklendirmesi.

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[değiştir | kaynağı değiştir]

Python 3. Standart tip hiyerarşisi. Bakınız >>> help("TYPES")

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[değiştir | kaynağı değiştir]

* 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ü[değiştir | kaynağı değiştir]

Python ifadeleri şunları içerir:

  • if ifadesi, bir kod blokunu belli bir koşula bağlı olarak, else ve elif (else-if'ın kisaltmasi) 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 blokunu çalıştırır.
  • try ifadesi, eklenmiş kod blokundan 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.

Metotlar[değiştir | kaynağı değiştir]

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.

Standart kütüphane[değiştir | kaynağı değiştir]

Python'un çok büyük bir standart kütüphanesi vardır. Bu, dilin artı özelliklerinden biri olarak kabul edilir.

Örnekler[değiştir | kaynağı değiştir]

Python 3 ve üstü sürümler için uygundur.

Merhaba dünya[değiştir | kaynağı değiştir]

1 # -*- coding: utf-8 -*-
2 print("Merhaba Dünya")

Yorum satırları[değiştir | kaynağı değiştir]

1 #Tek satırlık bir python yorumu
1 """Bu çok satırlı
2 bir python 
3 yorumu"""

Girdi alma ve ekrana basma[değiştir | kaynağı değiştir]

1 veri = input('Bir veri giriniz:')
2 print(veri)

Sürüm Geçmişi[değiştir | kaynağı değiştir]

Sürüm Tarih[8]
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 3 Ocak 1998
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 (alpha) 5 Ekim 2020

Ayrıca bakınız[değiştir | kaynağı değiştir]

Kaynakça[değiştir | kaynağı değiştir]

  1. ^ "Python 3.8.2". 26 Şubat 2020 tarihinde kaynağından arşivlendi. 
  2. ^ "Python 2.7.17". 7 Ocak 2020 tarihinde kaynağından Arşivlendi. Erişim tarihi: 7 Ocak 2020. 
  3. ^ "Python 3.9.0a4". 26 Şubat 2020 tarihinde kaynağından arşivlendi. 
  4. ^ http://docs.python.org/3/faq/general.html
  5. ^ "Sunsetting Python 2". Python.org (İngilizce). 12 Ocak 2020 tarihinde kaynağından Arşivlendi. Erişim tarihi: 22 Eylül 2019. 
  6. ^ "PEP 373 -- Python 2.7 Release Schedule". Python.org (İngilizce). 13 Ocak 2020 tarihinde kaynağından Arşivlendi. Erişim tarihi: 22 Eylül 2019. 
  7. ^ "Python Developer's Guide — Python Developer's Guide". devguide.python.org. 20 Ocak 2020 tarihinde kaynağından Arşivlendi. Erişim tarihi: 17 Aralık 2019. 
  8. ^ http://www.python.org/downloads/release

Dış bağlantılar[değiştir | kaynağı değiştir]