PYTHON 3.10 HAKKINDA BİLMENİZ GEREKENLER

Python'un en son sürümü olan Python 3.10'un ilk beta sürümü yayınlandı! Yeni Python sürümü önemli değişiklikler içermiyor olsa da, kullanıcılarının alışık olduğu ve sevdiği kolay kullanılabilirliğini korurken, daha açık, okunabilir kod kullanımı gibi özelliklerle sevenlerini heyecanlandırıyor. Yapısal model eşleştirme ise "async"ten beri sözdizimine yapılan önemli güncellemelerden biri oldu. İşte Python 3.10'da sizleri bekleyen yenilikler!

- TypeAlias Ek Açıklaması:

Python'un önceki sürümlerinde, kullanıcıların kullanıcı tanımlı türleri temsil eden takma adlar oluşturmalarına olanak sağlamak için tür takma adları eklenmişti. Python 3.9 vey önceki sürümlerde, bu işlem aşağıdaki şekilde yapılıyordu:

1  FileName = str

2

3  def parse(file: FileName) -> None:

4    ...

FileName, temel Python dize türü için bir takma addır. Python 3.10 sürümü ile birlikte, tür takma adlarını tanımlamak için sözdizimi şu şekilde güncelleniyor:

1  FileName: TypeAlias = str

3  def parse(file: FileName) -> None:

4   ...

- Daha iyi hata raporlama:

Python 3.9 sürümünde kullanıcıların karşısına önceki sürümlerden tamamen farklı, yepyeni bir ayrıştırıcı sunuldu. Bu yeni ayrıştırıcı çok daha hızlı ve daha sağlamdı. Yeni ayrıştırıcının geliştiricilere sunduğu en büyük artılardan biri, çok daha kesin ve kullanışlı hata mesajları sunmasıydı. Python 3.8 sürümünde, pek de kullanışlı olmayan hata mesajı yeni sürümde iyileştirildi. Yeni 3.10 sürümünde hata hakkında daha net bilgiler sağlanmakla kalmayıp, hatanın gerçekte nerede oluştuğu hakkında daha kesin bilgiler verilebiliyor.

- Popülasyon sayımı:

Python 3.10 sürümü ile birlikte artık, bir tamsayının ikili gösteriminde bit sayısını (bir sayısı) hesaplamak için int.bit_count () kodunu kullanabilirsiniz. Bu aynı zamanda Popülasyon Sayısı (Population Count) olarak da biliniyor.

1  value = 42

2  print(bin(value))

3  # '0b101010'

4  print(value.bit_count())

5  # 3

Geliştiriciler için kullanışlı olacak bu işlev ve benzeri kullanışlı işlevler, aslında Python'ı dünya çapında bu kadar tercih edilebilir kılan ve popüler yapan özelliklerden biri. 

- Bağlam yöneticisi sözdizimi:

Python bağlam yöneticileri, dosyaları açmak ve kapatmak, veritabanı bağlantılarını ve diğer birçok şeyi işlemek için gerçekten mükemmel. Ve Python'ın yeni sürümü 3.10'da sözdizimlerine de iyileştirilmeler yapıldı. Bunlardan biri, artık  parantezli bağlam yöneticilerinin "with" ifadesiyle birden çok satırı kapsayabiliyor olması:

1   with (

2       open("somefile.txt") as some_file,

3        open("otherfile.txt") as other_file,

4   ):

5       ...

6

7  from contextlib import redirect_stdout

8

9    with (open("somefile.txt", "w") as some_file,

10        redirect_stdout(some_file)):

11       ...

Yapılan iyileştirmelerle, yukarıda da görebileceğiniz gibi bir bağlam yöneticisi tarafından oluşturulan değişkene (...as some_file) olarak, onu takip eden başka bir dosyada bile referans verebilirsiniz.

Sözdizimlerinde yapılan bu güncellemeler Python 3.10 sürümündeki sözdizimini oldukça esnek bir hale getiriyor.

- Performans geliştirmeleri:

Python'un tüm sürüm güncellemelerinde olduğu gibi, Python 3.10'da da bazı performans iyileştirmeleri karşımıza çıkıyor. Bunlardan ilki, yaklaşık %30 daha hızlı olması gereken str (), bytes () ve bytearray () yapıcılarının optimizasyonu:

1  ~ $ ./python3.10 -m pyperf timeit -q --compare-to=python "str()"

2  Mean +- std dev: [python] 81.9 ns +- 4.5 ns -> [python3.10] 60.0 ns +- 1.9 ns: 1.36x faster (-27%)

3  ~ $ ./python3.10 -m pyperf timeit -q --compare-to=python "bytes()"

4  Mean +- std dev: [python] 85.1 ns +- 2.2 ns -> [python3.10] 60.2 ns +- 2.3 ns: 1.41x faster (-29%)

5  ~ $ ./python3.10 -m pyperf timeit -q --compare-to=python "bytearray()"

6. Mean +- std dev: [python] 93.5 ns +- 2.1 ns -> [python3.10] 73.1 ns +- 1.8 ns: 1.28x faster (-22%)

Dikkat çeken bir diğer optimizasyon ise işlev parametrelerinin ve açıklamalarının artık çalışma zamanında değil, derleme zamanında hesaplanıyor olması. Bu optimizasyonla parametre açıklamalı bir işlev oluşturmak yaklaşık 2 kat daha hızlı hale getirilmiş oldu.

Python'ın yeni sürümü 3.10 hakkında ilginizi çekeceğini düşündüğümüz güncellemelerden birkaçını sizin için kaleme aldık, ama daha pek çok ilginç değişiklik var! Python 3.10 sürümünde sizleri bekleyen tüm yenilikler için Python 3.10 sayfasını ziyaret edebilirsiniz!

 




Eğitimlerle ilgili bilgi almak ve diğer tüm sorularınız için bize ulaşın!

İlgili Eğitimler

Son Blog Yazılarımız

Sitemizi kullanarak çerezlere (cookie) izin vermektesiniz. Detaylı bilgi için Çerez Politika'mızı inceleyebilirsiniz.