21 Haziran 2007 Perşembe

Python Öğreniyoruz

Herkese selamlar

Python çalışırken ani bir kararla öğrendiklerimi günlüğüme aktarma kararı almış bulunmaktayım:) Bundan böyle pythonda atmış olduğum her adımı buraya da yansıtmaya çalışacağım. Öyleyse yazı dizimizin ilk girişini python programlama dilini tanıtarak yapalım:

Python Programlama Dili
80'lerin sonlarında Guido van Rossum tarafından ABC programlama dilinin halefi olacak şekilde geliştirilmeye başlanan Python, 1991 yılında Usenet'te duyurusu yapılarak dağıtılmaya başlanmıştır(release). İlk başlarda çok dikkat çekmese de zamanla-hatta son zamanlarda muazzam bir ilgi var dile karşı- önemi daha iyi anlaşılmıştır. Peki önemi, özellikleri nelerdir?


Python nesle yönelimli(object-oriented), yorumlamalı(interpreted), moduler ve etkileşimli(interactive) bir betik dildir. Bu terimleri tek tek açacak olursak, nesne yönelimlilik programcılıkla ilgilenen hemen hemen herkesin hakkında az buçuk bilgi sahibi olduğu ve miras(inheritance), çok biçimlilik(polimorfizm) ve depolama(encapsulation) yeteneklerini içerisinde barındıran programlama tekniğidir diyebiliriz(Bunlarla ilgili ayrıntılara girmek istemiyorum, konumuz sapmasın). Yorumlamalı diller, yazmış olduğunuz programdaki ifadelerin(statement) toptan değilde tek tek derlenmesi suretiyle çalıştırılması şeklinde açıklanabilir.Bu noktada tüm kaynak kod çalıştırılmak için derlenmez. Esasında Python'un interaktif özelliği de bir anlamda buradan gelmektedir diyebiliriz.Python dili sağladığı etkileşimli kabuğu vasıtasıyla(interactive shell) sizden almış olduğu ifadeleri tek tek çalıştırır. Yani derlenen(compiled) dillerde olduğu gibi tüm kaynak kodu yazmaya ihtiyacınız yok. Ayrıca prototip geliştirme süreçlerinde yorumlamalı diller kullanım kolaylığı açısından tercih edilmektedir. Yarumlamalı dillerin en belirgin dezavantajı derlemelil dillere nazaran daha ağır kalmalarıdır. Ancak günümüz teknolojisi donanımlarımızı bu tip dilleri çalıştırmak için yeterli seviyeye getirmiştir(Ayrıca Python başka bir yorumlamalı dil olan Java'ya göre daha hızlı çalışmaktadır). Modülarite C dilini kullananların oldukça aşina olduğu bir tabirdir. Modülarite de işler fonksiyonlara bölünür ve bu fonksiyonlar başka programlarda da kullanılabilmesi amacıyla nesne modulleri halinde hazır bekler. Son olarak Python'un betik dil olması durumunu inceleyecek olursak bildiğiniz üzere GNU/Linux dağıtımlarındaki Bash gibi kabuk programları veya Windows'taki komut satırı yorumlayıcıları bir söz dizimine(syntax) sahipler(Bash için Shell Script, Windows için Batch olarak adlandırılır). İşte bu programlar komut satırından aldıkları komutları Shell veya Batch gibi toplu komut dosyaları şeklinde de çalıştırabilirler. Aynı özellik Python programlama dili için de geçerlidir(Böyle Python dosyalarının uzantıları py'dir).

Python programlama dili ilgili bazı linkler:

Python Resmi Sitesi
Python İndirmek için

Wikipedia-TR
Wikipedia-EN

Sanırım şimdilik bu kadar yeterli. Python'un temel özelliklerini özet bir şekilde ne olduklarıyla beraber açıkladığımı düşünüyorum. Bundan sonraki yazımda Python dilinin söz dizimine giriş yaparız artık.

Herkese kolay gelsin...