14 Şubat 2013 Perşembe

Python Programlama Dili

Python nesne yönelimli, yorumlanabilen, birimsel (modüler) ve etkileşimli bir programlama dilidir. Ansiklopedik tanımı bir kenara atarsak bence günümüzdeki en pratik ve işlevsel programlama dili. Özellikle benim gibi sürekli değil de uğraşı olarak programlamayla ilgilenen kişiler için oldukça yeterli. Zaten CBS (Coğrafi Bilgi Sistemleri) alanı ve görüntü işleme (image processing) için de Python dili öneriliyor ki bunlar benim ilgimi çeken alanlar zaten. Görüntü işleme konusunda Matlab daha iyi yerlerde fakat Matlab'i ben daha çok program yazılabilen program olarak tanımlıyorum. Çünkü Matlab yazdığımız programları Matlab dışında çalıştırmaya ve arayüzlü programlamaya pek elverişli değil. Ayrıca lisans ücreti ve programının boyutunun büyük (5 gb civarı) olması da dezavantajlarından bana göre.

Python'un ise geliştirme ortamı (SDK) + editörü (IDE) sadece 15 mb civarında. Ayrıca tamamen ücretsiz.

Türkçe Kaynak

Python için Türkçe kaynak kısıtlı fakat Fırat Özgül'ün hazırladığı kılavuzu (Python 2.x Kılavuzu) önerebilirim. Yukarıdan sürümleri veya modülleri seçerek ilgili sürüm veya modülle ilgili kılavuzlara erişebilirsiniz. Bunun dışında İngilizce kaynak olarak Python'un kendi kılavuzunu (Python Docs) ve kullanacağınız modüllerin de resmi kılavuzlarını karıştırmanız işinize yarayacaktır.

Harita Mühendisliği için Python

Pratik ve işlevsel olması sebebiyle programcılığa çok fazla zaman ayıramayacaklar için ideal. Basit hesaplamaları yapan uygulamalar dakikalar içinde yazılabiliyor. Sınıflar vs. ile uğraşmak zorunda kalmıyorsunuz. CBS programlama ve görüntü işleme konularında da yabancı ve yerli platformlarda sıklıkla önerilen bir dil. Sadece basit programlara yönelik olarak düşünmeyin. Arayüzlü, nesneye yönelik, veri tabanı yönetimi yapabilen, ağ üzerinden çalışabilen vs. karmaşık programlar da yazabilirsiniz. Ben daha çok pratik olması ve görüntü işleme kütüphanesi (PIL - Python Imaging Library) için tercih ettim. Umarım yarı yolda bırakmaz :)

Basit Uygulamalar

Örnek 1: Girilen iki sayıyı toplayan bir betik (script):

# -*- coding: cp1254 -*-

sayi1=input("Birinci sayiyi giriniz = ")
sayi2=input("İkinci sayiyi giriniz = ")

toplam=sayi1+sayi2

print "\n\tSayilarin toplami = ", toplam

raw_input("\nCikis = Enter")

Şeklinde kodlanabilir. Burada kullanıcıdan 2 sayı alınmış, toplanmış ve sonuç kullanıcıya yansıtılmıştır. Görüldüğü üzere kod yapısı ve mantığı olarak Matlab'e oldukça benziyor. Amacım kod yapısını göstermek olduğu için detaylar üzerinde fazla durmayacağım. Yukarıda verdiğim kaynaklara göz gezdirirseniz ayrıntılı bilgi edinebilirsiniz.

Örnek 2: İkinci Temel Ödev ve Python ile Çözümü

Yine örneğin mesleğime yönelik basit bir hesabı (İkinci Temel Ödev - Koordinatları Verilen İki Nokta Arası Semt Açısı ve Mesafe Bulma) da Python 2.x kullanarak programlayabilir ve bunu py2exe modülü kullanarak Windows ortamında direk çalışacak (*.exe) hale sokabiliriz.

İlgili konuda kendi yaptığım örneği indirmek için tıklayınız
(Şifre: ettunc.tk) (Ekran Görüntüsü)

Hiç yorum yok:

Yorum Gönder