Kurs

Eğer veri bilimine adım atmayı düşünüyorsanız, muhtemelen Python’u duymuşsunuzdur. Python, veri bilimi ve web ile oyun geliştirme, siber güvenlik ve blokzinciri gibi diğer yazılım alanlarında geniş kullanım alanına sahip, açık kaynaklı, genel amaçlı bir programlama dilidir.
Python’un popülaritesi son yıllarda büyük bir artış gösterdi. TIOBE Endeksi ve PYPL Endeksi dahil çeşitli programlama dili popülerlik endekslerinde ilk sırada yer alıyor. Python’un hangi alanlarda kullanıldığı hakkında ayrı bir yazıda daha fazla bilgi edinebilirsiniz.
Basit ve okunabilir sözdizimi sayesinde Python, yeni başlayanlar için öğrenmesi en kolay programlama dillerinden biri olarak anılır. Veri bilimine yeniyseniz ve önce hangi dili öğreneceğinizi bilmiyorsanız, Python en iyi seçeneklerden biridir. Veri bilimi yolculuğunuza şimdi DataCamp’teki Python ile Veri Bilimci kariyer yolunu alarak başlayabilirsiniz.
Yine de işler biraz kafa karıştırıcı olabilir. Python 2 ve 3’ten de bahsedildiğini duymuş olabilirsiniz. Bu nedir? Tek bir Python programlama dili yok mu? Hangisini öğrenmelisiniz? Endişelenmeyin: özel koşullar dışında artık her zaman Python 3 kullanacaksınız. Yine de farkları bilmek her zaman iyidir.
İzleyen bölümlerde Python 2 ve 3’ün ne olduğunu, aralarındaki temel farkları ve hangisinin öğrenmek ve kullanmak için daha tercih edilir olduğunu açıklayacağız.
Python 2 nedir
Python, Guido van Rossum tarafından 1980’lerin sonunda geliştirildi ve ilk kez 1991’de kamuya açıldı. Dokuz yıllık geliştirme ve artan popülaritenin ardından 2000 yılında Python 2.0 yayımlandı.
Python 2, Python kodu yazımı için yönergeler ve en iyi uygulamaları sağlamayı amaçlayan Python Geliştirme Önerisi (PEP) adlı yepyeni bir teknik spesifikasyonla birlikte geldi. Ayrıca liste üreteçleri (list comprehension), Unicode desteği ve döngü algılayan çöp toplayıcı gibi yeni özellikler de sağladı.
Ancak Python 2’deki en önemli değişiklik bizzat geliştirme sürecine ilişkin olandı. Python, başlangıç seviyesindekilerin kolayca öğrenebileceği bir programlama dili olarak tasarlandı. Bu hedefe ulaşmak için Python’un geliştirilmesinden sorumlu ekip –başında Guido van Rossum olmak üzere– daha şeffaf ve topluluk destekli bir geliştirme sürecine geçmeye karar verdi.
Python 2 zaman içinde gelişmeye devam etti. Ardışık sürümler programlama diline yeni işlevler ekledi. 2010’da yayımlanan Python 2’nin son sürümü 2.7 idi. Bu sürümün desteği 1 Ocak 2020’de sona erdi.
Python 3 nedir
Python 3, programlama dilinin bir sonraki neslidir. Aralık 2008’de çeşitli iyileştirme ve yeni özelliklerle birlikte yayımlandı.
Python 3, hataları giderilmiş sıradan bir Python 2 sürümü değildi. Yeni sürüm, önceki sürümlerdeki güvenlik sorunları ve tasarım kusurlarını gidermek için dili kökten değiştirdi. Python 3, aynı işi farklı şekillerde yapan, yani yinelenen veya tekrarlayan kodu önlemeye yönelik yeni bir sözdizimiyle geldi. İşleri yapmanın tek ve net bir yolunu sunarak Python 3’ün kullanım kolaylığı ve okunabilirliği önemli ölçüde iyileştirildi.
Python 3’teki büyük değişikliklerden bazıları, print ifadesinin yerleşik bir fonksiyona dönüştürülmesi, tamsayı bölmesinin iyileştirilmesi ve Unicode desteğinin geliştirilmesidir. Bu değişikliklerin niteliği nedeniyle Python 3, Python 2 ile uyumlu değildi; başka bir deyişle geriye dönük uyumlu değildir.
Neden farklı Python sürümleri var?
Python 2 ile 3 arasındaki farkları örneklerle görelim!
Yeni print() fonksiyonu
Python 2’deki print ifadesi, Python 3’te print() fonksiyonuyla değiştirildi; bu da yazdırmak istediğimiz nesneyi parantez içine almamız gerektiği anlamına gelir.
Python 2:
>>> print 'Hello DataCamp'
Hello DataCamp
Python3:
>>> print('Hello Datacamp')
Hello Datacamp
Tamsayı bölmesi
Python 2’de tamsayıları böldüğümüzde sonuç her zaman bir tamsayıydı. Python3’te sonuç her zaman ondalık içerir; bu da tamsayı bölmesini daha sezgisel kılar.
Python 2:
>>> 5/2
2
Python 3:
>>> 5/2
2.5
Unicode desteği
Python 2’de her bir Unicode dizesinin başına “u” öneki konulmalıdır; varsayılan olarak ASCII karakterleri kullanır. Buna karşılık Python 3, dizeleri varsayılan olarak Unicode olarak saklar; bu da ASCII dizelerinden daha kullanışlıdır.
Python 2:
>>> print type("Hello DataCamp!") # this is an ASCII string
<type 'str'>
>>> print type(u"Hello DataCamp!") # this is a Unicode string
<type 'unicode'>
Python 3:
>>> print(type("Hello DataCamp!")) # this is a Unicode string
<class 'str'>
Range fonksiyonu
Python 2’deki xrange() fonksiyonu artık Python 3’te yok. Yerini, diziler üzerinde yinelerken daha iyi performans sunan range() fonksiyonu aldı
Python 2:
>>> xrange(1,10)
xrange(1, 10)
>>> type(xrange(1,10))
<type 'xrange'>
Python 3:
>>> range(1,10)
range(1, 10)
>>> type(range(1,10))
<class 'range'>
Aşağıdaki tabloda Python 2 ile 3 arasındaki temel farkları bulabilirsiniz.
|
Python 2 |
Python 3 |
|
|
Yayımlanma tarihi |
2000 |
2008 |
|
Sözdizimi |
Daha karmaşık ve yorumlaması zor |
Okunabilir ve kolay anlaşılır |
|
Performans |
Tasarım kusurları nedeniyle daha yavaş performans |
Python 2’ye kıyasla çalıştırma süresi performansı iyileştirilmiştir |
|
print fonksiyonu |
print “Welcome to Datacamp” |
print (“Welcome to Datacamp”) |
|
Tamsayı bölmesi |
Sonuç bir tamsayıdır. Ondalıklar her zaman budanır |
Sonuç her zaman bir float değeridir |
|
Unicode desteği |
Varsayılan olarak ASCII karakterleri kullanır. Unicode değerleri saklamak için “u” ile tanımlamanız gerekir |
Dizelerin varsayılan olarak saklanması Unicode’dur |
|
Range |
Sayı dizisi oluşturmak için xrange() fonksiyonu |
range() fonksiyonu, yinelerken xrange()’den daha verimlidir |
|
Geriye dönük uyumluluk |
Python2’den Python 3’e taşımak nispeten kolaydır. |
Python 3, Python 2 ile geriye dönük uyumlu değildir |
|
Kütüphaneler |
Python 2 için birçok eski kütüphane ileriye dönük uyumlu değildir |
Python 3 için yeni kütüphanelerin çoğu Python 2’de kullanılamaz |
Python 2, 3’e dönüştürülebilir mi?
Evrim, her programlama dilinin hayati bir özelliğidir. Diller zaman içinde performansı artırmak ve kullanıcılar için geçerli kalmak üzere evrilir. Python 2’den 3’e geçiş, Python tarihindeki en büyük değişim olmuştur.
Şirketler ve geliştiricilerin eninde sonunda kod tabanlarını Python 3’e taşımaları mantıklıdır –özellikle Python 2 desteğinin sona ermesinden sonra– ancak kodu eski bir sürümden yeni bir sürüme taşımak zor ve göz korkutucu bir süreç olabilir. Bu durum, Python 2 kütüphanelerinin birçoğu ileriye dönük uyumlu olmadığından Python özelinde daha da belirgindir.
Neyse ki Python 2 kodunu Python3’e dönüştürmeye yardımcı olabilecek bazı kaynaklar vardır.
- 2to3: Python 2.x kaynak kodunu alıp geçerli Python 3.x koduna dönüştürmek için bir dizi düzeltici uygulayan bir Python programı.
- Python-Future: Hem Python 2 hem de Python 3’ü minimum ek yükle desteklemek için tek, temiz ve Python 3.x uyumlu bir kod tabanı kullanmanıza olanak tanır.
- Six: Python 2 ve 3 uyumluluk kütüphanesi. Her iki Python sürümüyle uyumlu Python kodu yazmayı hedefleyerek, sürümler arasındaki farkları yumuşatmak için yardımcı işlevler sağlar.
Python 2 vs 3: Hangisi daha iyi?
Bu, birkaç yıl önce tartışmaya açık bir soruydu; ancak bugün hiç şüphe yok ki Python 3 daha iyi bir seçimdir. Birincisi, Python 2’nin desteği 2020’den beri yok. Dolayısıyla yeni projelerin Python 3.x ile yazılması mantıklıdır. İkincisi, Python 2 artık desteklenmediğinden tüm geliştirmeler Python 3 tarafında ilerliyor. Dil, her yeni yükseltmeyle sürekli iyileşmeler gördü (en son sürüm Python 3.10.5’tir ve önemli yeni özelliklere sahip Python 3.11’in bir beta sürümü halihazırda mevcuttur).
Bu bağlamda, Python 3’ün yaygın biçimde benimsenmesi şaşırtıcı değildir. JetBrains tarafından gerçekleştirilen 2021 Python Geliştiricileri Anketi’ne göre, ortalama olarak Python geliştiricilerinin %95’i Python 3 kullanıyordu. Ayrıca Python 2 kullanıcılarının payı her yıl 5 puan azalıyor.
Python 2 ve Python 3’ün benimsenmesi

Kaynak: JetBrains
Hangi Python sürümü kullanılmalı?
Günümüzde Python’un en iyi sürümü Python 3’tür. Özellikle yeni başlayan programcılar için en güvenli tercihtir. Desteği sona erdiğinden Python 2 hızla ivme kaybediyor ve giderek daha fazla şirket kodunu Python 3’e taşıyor. Birçok yazılım alanındaki artan talebi, yaygın kullanımı ve topluluk destekli devasa kütüphane koleksiyonu göz önüne alındığında, Python 3 öğrenmek mantıklıdır.
Ancak belirli durumlarda yine de Python 2 kullanmanız gerekebileceğini belirtmek önemlidir. Birincisi, birçok şirketin Python 2 ile yazılmış ve Python 3’e taşınması zor olan eski kod tabanları var. Çalıştığınız şirket veya proje için durum buysa, Python 2 öğrenmeniz gerekecektir. İkincisi, DevOps gibi bazı yazılım alanlarında hâlâ Python 2 gereklidir.
Her hâlükârda, veri bilimi alanında yeni bir kariyere başlamayı düşünüyorsanız, akıllıca seçim Python 3’tür. DataCamp ile her şey sizin için hazır. Python kurslarımızı ve patikalarımızı inceleyin ve veri yolculuğunuza bugün başlayın!
Python En İyi Uygulamalar SSS
Hangi Python sürümü daha popüler?
Python 3, Python 2’ye kıyasla büyük ölçekli benimsenmeyle tartışmasız kazanan konumunda.
Python, veri bilimi için uygun bir dil midir?
Veri bilimi için en popüler programlama dilleri Python ve R’dir. DataCamp, başlamanıza yardımcı olacak geniş bir Python kursu kataloğuna sahiptir
Hangi sürüm daha iyi çalışma süresi performansı sunar?
Evet! Neredeyse tüm testlerde. Python 3 genellikle Python 2’den daha hızlıdır.
Python 2’nin en son sürümü nedir?
Python 2.7. 2020 yılında bu sürümün destek ve bakımı sona erdi.
Neden Python 3’e yükseltmeliyim?
Python 3 daha iyi bir dildir ve Python 2’ye kıyasla daha iyi bir standart kütüphane setiyle birlikte gelir. Ayrıca 2020’den beri dil ve standart kütüphaneler yalnızca Python 3’te gelişmektedir.
Python 2’yi Python 3’e taşıyabilir miyim?
Kodunuzu Python 3’e güncellemek için 2to3, Python-Future ve Six gibi kullanabileceğiniz bazı kaynaklar vardır.
Hem Python 2 hem de 3’ü yükleyebilir miyim?
Evet. Python 2 ve 3 için ayrı sanal ortamlar oluşturarak bunu yapabilirsiniz.
