Python 2 ve Python 3 Arasındaki Farklar

Programlamaya yeni başlayanlar için Python 2 ve 3 arasında seçim yapmak oldukça zor olacaktır. Bu seçimi kolaylaştırmak için arasındaki farkları bilmek gerekir. Peki Python 2 ve Python 3 arasındaki farklar nelerdir?

Python 2’nin, 3’e göre daha eski olduğunu biliyoruz, ama buna rağmen hala birçok şirket Python 2 kullanmaya devam ediyor.

Tabii ki de bu bir suç değil 🙂 aslına bakarsanız Python 2 ve Python 3 arasında çok da büyük farklılıklar görünmüyor. (Öyleyse ikisini de öğreneyim diyorsanız, orası yine de tartışılır.)

Aynı zamanda Python 2 de zaten olan ve sonradan Python 3 için de güncellenen bir sürü paket var. Hatta bu yazıyı yazdığım tarih itibarıyla, en çok indirilen 360 Python harici paketinin 359’u Python 3’ü destekliyor.


(kaynak: py3readiness.org)

Ayrıca bazı yeni çıkan Python harici paketlerinin de sadece Python 3 için özel (exclusive) olduğunu görüyoruz. Buradan da şöyle bir çıkarım yapabiliriz, yeni çıkan Python paketleri artık yavaş yavaş Python 2 ile uyumlu olmayacak.

Dolayısıyla yeni bir mühendis, mühendislik öğrencisi veya yazılıma yeni yeni merak sarmaya başlayan biri iseniz muhtemelen Python 3 sizi daha ileri götürecektir. (Kesin konuşamıyor olmamın sebebi ise benim de bir mühendislik öğrencisi olmam 🙂 )

Ama yukarıda da belirttiğim gibi Python 2 ve Python 3 arasında çok büyük farklılıklar yoktur. Yani bir gün Python 3 bildiğiniz halde Python 2 ile çalışmanız gerekirse çok da endişelenecek bir durum yok. Çünkü çok küçük syntax(sözdizimi) farklılıkları vardır.

Python 2 ve Python 3 Syntax Farklılıkları

Print

#Python2 
>>> print 'Merhaba Dünya'
Merhaba Dünya
>>> print('Merhaba Dünya')
Merhaba Dünya
#Python3 
>>> print('Merhaba Dünya')
Merhaba Dünya

Python 3 için print fonksiyonunu parantezsiz yazarsak hata alırız.

#python3
>>> print 'Merhaba Dünya!'
File "<stdin>", line 1
print 'Merhaba Dünya!'
^ SyntaxError: Missing parentheses in call to 'print'

Integer

#python2
>>> print '3/2=', 3/2
3/2=1
>>> print '3/2=', 3/2.0
3/2=1.5
#python3
>>> print '3/2=', 3/2
3/2=1.5
>>> print '3/2=', 3/2.0
3/2=1.5

Python 2, 3/2 hesaplamasını sonucun tam kısmını alarak yapıyor. Eğer 3/2.0 şeklinde yazarsak cevabı float(ondalıklı) olarak veriyor.

Python 3’de durum böyle değil, 3/2 de 3/2.0 da bize 1.5 cevabını veriyor.

Genel olarak toparlayacak olursak ve gelişmelere bakacak olursak Python’un geleceği Python 3 olacak gibi gözüküyor.


Bir önceki yazıma buradan ulaşabilirsiniz.

LinkedIn profilime buradan ulaşabilirsiniz.

Gmail: sbkaracan@gmail.com

Bana yukarıdaki adreslerimden ulaşabilirsiniz.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir