Python (programlama dili)
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.5.2 / 27 Haziran 2016)[1] 2.7.12 / 28 Haziran 2016)[2] |
Önizleme sürümü |
3.6.0a3 (Temmuz 2016[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 |
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, 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.
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. 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
Django, Zope uygulama sunucuları, YouTube ve orijinal BitTorrent istemcisi, Pardus Linux dağıtımı 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 Python öntanımlı bir bileşen olarak gelir.
Sözdizimi
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, 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.
İ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'ı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.
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, C++,
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 vardır. Bu, dilin artı özelliklerinden biri olarak kabul edilir. Standart kütüphane, "itertools" ve "functools" olmak üzere iki modül içermektedir.
Ö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
# -*- coding: utf-8 -*
lalalala
Ayrıca bakınız
Kaynakça
- ↑ Hastings, Larry (2016-06-27). "Python 3.5.2 and Python 3.4.5 are now available". The Python Core Developers. 16 Temmuz 2016 tarihinde kaynağından arşivlendi. http://web.archive.org/web/20160716124253/http://blog.python.org/2016/06/python-352-and-python-345-are-now.html. Erişim tarihi: 2016-06-28.
- ↑ Peterson, Benjamin (2016-06-28). "Python 2.7.12 released". The Python Core Developers. 16 Temmuz 2016 tarihinde kaynağından arşivlendi. http://web.archive.org/web/20160716124257/http://blog.python.org/2016/06/python-2712-released.html. Erişim tarihi: 2016-06-28.
- ↑ http://blog.python.org/2016/07/python-360-alpha-3-preview-release-is.html
- ↑ https://docs.python.org/3/faq/general.html
Dış bağlantılar
- Python programlama dili resmi sitesi (İngilizce)
- www.learningpython.com (İngilizce)