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 "ntSayilarin 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 getirebiliriz.