Ana içeriğe atla

Bilim İnsanları Neden Bilimsel Hesaplama İçin Python Kullanmalı

Araştırmada Python'un kapsamını, bilim insanlarının bilimsel hesaplama için neden Python kullanması gerektiğini ve Python topluluğunun bilimsel araştırmalara nasıl etkin şekilde katkı sağlayabileceğini keşfedin.
Güncel 3 Eki 2026  · 12 dk. oku

Yapay Zeka ile Keşfedin

ChatGPTClaudePerplexity

Bu yıl PyCon 2017'de, bilimsel Python topluluğundan iki kişi açılış konuşması yaptı: Dr. Jake VanderPlas bilim insanlarının neden Python’u benimsediğini ve benimsemeleri gerektiğini anlattı; Dr. Kathryn Huff ise Python topluluğunun bilim topluluklarına nasıl yardımcı olabileceğini ve neden olması gerektiğini ele aldı. Bu iki konuşma birlikte, bilimsel araştırma ile Python programlamanın birbirini nasıl tamamladığına, günümüzde pek çok çalışan bilim insanının neden Python’u benimsemesinin en iyi seçenek olduğuna ve Python topluluğunun bilimsel araştırmaları neden ve nasıl etkin biçimde destekleyebileceğine dair bütüncül ve tutarlı bir çerçeve sunuyor.

Bilimsel Hesaplamada Python’un Beklenmedik Etkinliği

Jake VanderPlas, Seattle’daki Washington Üniversitesi eScience Institute’ta bir gökbilimcidir. Aynı zamanda SciPy, scikit-learn ve altair gibi Python paketlerine katkıda bulunmuş, daha geniş bilimsel Python topluluğunun da aktif bir üyesidir.

Çoğu kişi gökbilimcileri dev teleskopların başında merceklere bakarken hayal eder; ancak Jake, profesyonel yaşamlarında çoğu gökbilimcinin hiç teleskoptan bakmadığını, veri toplama sürelerinin büyük bölümünü veritabanı sorguları yaparak geçirdiklerini söyledi. Fakat veritabanları, gökbilimcilerin yüzleştiği görevlerin gerektirdiği hesaplama becerilerinin yalnızca görünen kısmı; Jake bununla ilgili birkaç aydınlatıcı örnek verdi. Örneğin, aşağıdaki TRAPPIST-1 Ötegezegen Sistemi görselleştirmesine bakalım:

scientific computing python

Bunun gerçek bir fotogerçekçi görüntü olduğunu düşünmek cazip gelebilir; ama aslında bir sanatçının yorumudur: özgün veri değildir. Gezegene dair varlık, bir yıldızın tutulmasından çıkarımlanmış ve aşağıdaki ve sonraki veriler üzerinde (görsel formunda, Ethan Kruse’un verileri) bu tür bir sistemin istatistiksel modellenmesiyle saptanmıştır:

python for research

Peki tüm bu çıkarım ve istatistiksel analiz nasıl yapıldı? Elbette Python ile. Hem de ‘son derece ayrıntılı bir istatistiksel modelleme’ yoluyla; dahası, Jake’in söylediğine göre, bu türden sistemleri bulmak ‘karmaşık bir veri analizi hattında istatistiksel kod yazmaya’ dayanıyor.

Jake’in bize gösterdiği bu (astronomideki) bilimsel projelerin birçoğu, veri işleme ve analiz hattında Python programlama dilini kullanıyor. Üstelik bu projeler yalnızca açık kaynak bir programlama diliyle yazılmakla kalmıyor, kodları da github’da yer alıyor; örneğin Kepler ve JWST. JWST, diğer yıldızların çevresindeki gezegenlerin atmosferlerinde gazları keşfedip kimyasal bileşimi ortaya çıkarmaya ve böylece olası yaşam izlerini belirlemeye çalışıyor — bu projeler Python ile yazılıyor, github’da barındırılıyor ve Jupyter not defterleri gibi araçlar kullanıyor.

Acaba bu yalnızca birkaç Python projesinden ibaret bir anekdot mu, yoksa kural mı? Astronomide öyle değil. Jake, Python kullanan yayınların düzenli olarak arttığını gösteren bir analiz yaptı:

python scientific computing

Şu Python Hokey Sopasına bir bakın! Öyleyse bilim insanlarının giderek daha çok Python kullandığını saptadık; peki neden Python kullanıyorlar?

Bilimsel Hesaplamada Python Kullanmak İçin 4 Gerekçe

Jake şu soruyu sordu: ‘Python bilime neden bu kadar etkili bir araç sağlıyor?’

1. Diğer dillerle birlikte çalışabilirlik.

Yapıştırıcı olarak Python: tarihsel olarak birçok çalışan bilim insanı, deneyden ve/veya veriden aktarılabilir sonuçlara ulaşabilmek için veritabanı sorgulama, komut satırı sihirbazlığı, özel ya da tescilli yazılımlar ve veri görselleştirme araçlarını içeren, sakar, karmaşık ve aslında abartılı veri boru hatlarıyla uğraşmak zorunda kaldı. Jake VanderPlas, kısmen bunu iyi ifade ettiği için Dave Beazley’den alıntı yaptı:

‘Bilim insanları... simülasyon kodlarından veri analizi paketlerine, veritabanlarına, görselleştirme araçlarına ve ev yapımı yazılımlara kadar çok çeşitli sistemlerle çalışırlar — bunların her biri kullanıcıya farklı arayüzler ve dosya biçimleri sunar. Sonuç olarak, bir bilim insanı zamanının hatırı sayılır bir kısmını yalnızca tüm bu bileşenleri bir şekilde birlikte çalıştırmaya çalışarak geçirebilir...’

Ve Python, bilimsel araştırmada kullanmak isteyeceğiniz araçların çoğuyla birlikte çalışabilir: bağlar, yani bir yapıştırıcıdır. Jake’in dediği gibi, Python, ‘insanların çalıştığı o karma araç yığınını bir araya getirmek için kullanılıyor; üst düzey Python söz dizimi bu düşük seviyeli C/Fortran kütüphanelerini sarmalar.’

2. "Piller Dahil" + üçüncü taraf modüller

Araştırmacıların Python’a akın etmesinin (ve henüz etmemiş olanların da “etmesi gerektiğinin”) bir diğer nedeni,

  1. birçok “pili dahil” özelliğe sahip olması ve
  2. geri kalanlar için üçüncü taraf modül olarak kullanılabilecek dev bir Bilimsel Python (SciPy) ekosisteminin bulunmasıdır.

“Piller dahil” özellikler, web’i kazımanıza, web sunucuları başlatmanıza, dosya sistemleri ve veritabanlarıyla çalışmanıza, json okumaya ve çok daha fazlasına olanak tanır!

Asıl heyecan verici olan ise “üçüncü taraf” modüllerdir. Örnekler arasında şunlar vardır, ancak bunlarla sınırlı değildir:

  • Dizisel hesaplama için NumPy;
  • Python’un üzerinde bir IDE ve bilimsel belgeler yazma, araştırma/sonuçları iletme ve birlikte çalışmayı sağlama araçları olarak IPython ve Jupyter;
  • Ölçekleme ve dağıtık hesaplama için Numba ve Dask;
  • DataFrame’ler için Pandas;
  • Veri görselleştirme için Matplotlib ve Bokeh (örneğin) — Python’un kendi içinde tüm bir dataviz kütüphaneleri ekosistemi vardır;
  • Makine Öğrenimi için Scikit-learn;
  • Karmaşık ağları oluşturma, düzenleme ve inceleme için NetworkX;
  • Görüntü işleme için Scikit-image;
  • Markov Zinciri Monte Carlo için PyMC;
  • Liste uzayıp gidiyor.

Jake’in dediği gibi, “çözmeniz gereken bir sorun varsa, size yardımcı olacak bir kütüphane bulma olasılığınız çok yüksek ve muhtemelen github’da!”

research with python

3. Sadelik ve Dinamik Yapı

Python yazması görece kolaydır, özellikle C gibi dillere kıyasla. Jake’in dediği gibi, ‘Python’da, özellikle örneğin C’den geldiğinizde, ne olmasını istiyorsanız onu yazarsınız ve olur; adeta çalıştırılabilir sözde kod yazmak gibidir.’

Ayrıca Perry Greenfield’dan şu alıntıyı yaptı: ‘Python, geliştiriciler için çok güçlü, ama aynı zamanda Gökbilimciler için de erişilebilir bir dildir. Bu iki insan grubunun aynı araçları kullanmasını sağlamak, bence, her zaman fark edilmeyen veya dile getirilmeyen büyük bir fayda sağlar.’

Örneğin IPython ve Jupyter not defterleri gibi araçlar sayesinde, anlık olarak dinamik kodlama ve keşifsel, yinelemeli veri analizi için harika bir fırsat vardır. Bu da düşük giriş engeli sunar; çünkü bilimsel kodlama zaten doğrusal olmayan ve keşifseldir. Jake, bazı kişilerin bu araçların yavaş olduğundan şikâyet edebileceğini belirtti; ancak bilimsel araştırma açısından kilit olan geliştirme hızıdır, yürütme hızı değil — bu da bu araçları ideal kılar.

4. Bilime çok uygun açık yaklaşım

Açık kaynak yazılım, bilimsel araştırmanın gerektirdiği açıklığa çok uygun bir yaklaşıma sahiptir (hatta belki birçok bilimsel araştırmadan bile daha fazla). Bunu Katy Huff’ın açılış konuşmasını tartışırken daha ayrıntılı ele alacağız; ancak bilim yalnızca yayımlanan makalelerde gerçekleşmez, bilim sonuçta ve o sonuca götüren talimatlar/protokoller ile sonucu tekrarlanabilir kılma becerisinde gerçekleşir; bu da açık kaynak yazılım geliştirmesinin tam olarak amaçladığı şeydir. Jake, Buckheit ve Donoho’dan (1995, Jon Claerbout’tan aktarma) şu alıntıyı verdi:

Bir hesaplamalı sonuca dair makale reklamdır, bilimsel çalışma değil. Asıl bilimsel çalışma, sonucu üreten tam yazılım ortamı, kod ve veridir. — Buckheit ve Donoho, 1995

Açık kaynak yazılım ile Python (bilimsel ve diğer) ekosisteminin benimsediği yaklaşım, bizi bilimdeki tekrarlanabilirlik krizinden çıkarmaya yardımcı olabilecek bir çerçeve sunuyor: ‘tekrarlanabilirliği çözmek, açık bilimle ilgilidir’ ve Python ekosistemindeki bilimsel araştırmanın işbirliğine dayalı, akran denetimli, GitHub’da yayımlanabilir doğası, bilimdeki bu açıklığın anahtarıdır. 2016’da (Einstein’ın öngördüğü) kütleçekim dalgalarının nasıl saptandığını incelemek istersem, yapmam gereken tek şey LIGO deposuna buradan gitmektir. Ya da araştırmalarında Astropy paketini kullanan giderek artan sayıdaki gökbilimciden biriyseniz, kodu ve onu üreten topluluğu burada bulabilirsiniz; bu kadar açık olması, topluluğun daha geniş Python topluluğunda bulduğu açık kaynak ve açık bilim yaklaşımını modellemesinin doğrudan bir sonucudur. Jake’in (Perry Greenfield’dan uyarlayarak) Python topluluğundan astronomi topluluğunun öğrendiğini düşündüğü şeylere dair tabloya göz atın:

Bilim İçin Yapın

“Gücünüzü kendi amaçlarım için kullanmak için buradayım” dedi Dr. Kathryn Huff, PyCon topluluğuna, ve Python programlama topluluğunun neden ve nasıl bilimin dünyayı kurtarmasına yardımcı olabileceğine dair ikna edici bir argüman sundu. Konuşması, genel olarak açık kaynak yazılım geliştirme ile özel olarak Python’un, Bilimsel Hesaplamada ve genel bilimsel araştırma ve uygulamada neden bu kadar etkili olduğunu ayrıntılı ve tutkulu bir biçimde temellendirdi. Bir adım daha ileri giderek, geniş Python programlama ve geliştirme topluluğunun Python becerilerini bilim topluluğuna yardım etmek ve dünyayı kurtarmak için kullanabileceği pek çok alanı gösterdi. Eğer su’nun insanlık için ciddi bir sorun olduğunu düşünüyorsanız, ya da sağlık veya enerjinin, Kathryn’in katkı sunabileceğiniz açık konuları olan projeleri ve GitHub depoları hazırdı. Katkıda bulunabileceğiniz, açık konuları olan onlarca proje ve paket örneği verdi.

Kathryn (Katy) bir Nükleer Mühendis, uzun süredir SciPy topluluğuna katkıda bulunuyor, Journal of Open Source Software ile ilgileniyor ve zamanının önemli bir bölümünü bilim insanlarının bilgisayarları daha iyi kullanarak keşif yapmalarına, tekrarlanabilirliği ve bilim insanlarının bilgisayar kullanma kolaylığını artırmaya yardımcı olan The Hacker Within ile Software ve Data Carpentry girişimlerine adıyor.

Katy’nin misyonu, nükleer enerjinin üretim biçimini iyileştirmek; peki tercih ettiği araç ne? Python! Python topluluğunun bilimsel araştırma topluluğuna sayısız şekilde nasıl yardımcı olabileceğine girmeden önce, bunun neden gerçekten gerekli olduğuna dair güçlü bir argüman sundu. Katy, bilimi titiz, yapılandırılmış, topluluk denetimi gerektiren bir uğraş olarak tanımlayan R. K. Merton’ı (1945) alıntıladı (bu, örgütlü kuşkuculuğun nasıl görüneceğine dair harika bir çalışma tanımıdır); bunların hepsi, açık kaynak Python topluluğunun tartışmasız nitelikleridir.

Katy, bilimin temel ilkelerini sıralayarak ve Açık Kaynak Yazılım geliştirme topluluğunun, Pisagor Çağı’ndan (MÖ 6. yüzyıl) bu yana bu ilkelere en iyi şekilde bağlı kalan topluluk olduğunu vurgulayarak bunun önemini pekiştirdi. Bilimin bu temel ilkeleri şunlardır:

  • akran değerlendirmesi
  • kuşkuculuk
  • şeffaflık
  • atıf
  • hesap verebilirlik
  • işbirliği
  • etki

Bilgisayarlar bilim insanlarına şunları yapmada “yardımcı olmalı”:

Öyleyse, bilgisayarların bilim insanlarına yardımcı olabilmesi için daha fazla bilim insanını Python gibi açık kaynak yazılımlar kullanmaya teşvik etmede sorun nedir?

  • Bilim insanları bilgisayarları etkili biçimde kullanmak üzere eğitilmiyor;

Bu nedenle Katy’nin Python topluluğuna çağrısı:

“Sizi dahil etmek istiyorum”.

Ve bu tür bir seferberlik, çalışan araştırmacıların Python kullanması için bir başka neden: emrinizde büyük bir açık kaynak programcı topluluğu var. Katy’nin dahil olduğu bir diğer yaklaşım da, çalışan bilim insanlarını işleri için bilgisayar kullanımı konusunda eğitmek. Bu amaçla birkaç program mevcut. Tüm çalışan bilim insanlarına, grubunuza, bölümünüze veya üniversitenize yardımcı olup olamayacaklarını görmek için Software Carpentry ve Data Carpentry’e göz atmanızı öneririm (yanıt: hesaplama yapıyorsanız, büyük olasılıkla yardımcı olabilirler).

Peki Dr. Katy Huff, programcıların nasıl yardımcı olmasını öneriyor? Dört basit adımda:

  1. Meraklı olun;
  2. Bir proje seçin;
  3. Bilime katkıda bulunun;
  4. Dünyayı kurtarın.

Araştırma İçin Neden Python?

  • Python ekosistemi, çalışan bilim insanları için olgun ve hâlâ evrilen bir hesaplama araçları bileşimi içerir.
  • Bilim insanları, Python’un
    • Diğer dillerle birlikte çalışabilirliği;
    • “Piller dahil” ve yapmak isteyebileceğiniz neredeyse her şey için üçüncü taraf modülleri;
    • Sadelik ve Dinamik yapısı
    • Açık yaklaşımının bilime çok uygun olması
    nedenleriyle Python’a giderek daha fazla yöneliyor.
  • Bilimsel Python topluluğu büyüyor ve kütüphaneler sürekli geliştiriliyor; topluluk açıktır;
  • Açık Kaynak geliştirme topluluğu, bilimsel araştırmanın temel ilkelerine diğer tüm topluluklardan daha çok bağlı kalır; bu ilkeler şunlardır:
    • akran değerlendirmesi
    • kuşkuculuk
    • şeffaflık
    • atıf
    • hesap verebilirlik
    • işbirliği
    • etki
  • Bilim insanı olmayan ama Python’un bilim ve dünya üzerindeki etkisine ve inandıkları meselelere katkıda bulunmak isteyen daha geniş bir Python programcıları topluluğu var; Perry Greenfield’ın sözlerini çok az değiştirerek söylersek,

‘Python, geliştiriciler için çok güçlü, ama [bilim insanları] için de erişilebilir bir dildir. Bu iki insan grubunun aynı araçları kullanmasını sağlamak, bence, her zaman fark edilmeyen veya dile getirilmeyen büyük bir fayda sağlar.’

Her türlü düşünce, yanıt ve/veya fikirlerinizi benimle Twitter üzerinden paylaşmaktan çekinmeyin: @hugobowne.

Konular
Python
İlgili

blog

2026’da En Popüler 40 Yazılım Mühendisi Mülakat Sorusu

Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Dario Radečić's photo

Dario Radečić

15 dk.

blog

Hızlı Sevkiyat İçin Pratik Vibe Kodlama Teknoloji Yığını

Ön uç, arka uç, veritabanları, kimlik doğrulama, depolama, e-posta, test, dağıtım ve izleme için en iyi araçları keşfedin.
Abid Ali Awan's photo

Abid Ali Awan

14 dk.

Eğitim

Python'da Listeyi String'e Nasıl Dönüştürürsünüz

Bu hızlı eğitimde, Python'da bir listeyi string'e nasıl dönüştüreceğinizi öğrenin.
Adel Nehme's photo

Adel Nehme

Eğitim

.gitignore Nasıl Kullanılır: Örneklerle Pratik Bir Giriş

Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurtis Pykes 's photo

Kurtis Pykes

8 dk.

Devamını GörDevamını Gör