Python 3.10, kullanıcıların indirebileceği en kararlı sürümlerden biri olmakla övünüyor ve bu yıl içinde piyasaya sürülecek. Yeni yayınlanan sürüm, hem acemi hem de deneyimli programcılar için kullanımı kolay işlevler gibi birçok göze çarpan değişiklikle gelecek.
Yeni Python sürümündeki göze çarpan iyileştirmeler arasında yapısal modelin tanıtılması yer alıyor. eşleştirme, daha iyi hata mesajları, yeni sendika operatörleri, hata ayıklama için doğru satır numaraları ve daha fazlası daha fazla.
Python 3.10 hakkında bilmeniz gerekenler:
Python 3.10'da Yapısal Örüntü Eşleştirme
Yapısal Model Eşleştirme, kod yazmayı çocuk oyuncağı haline getirir ve en son Python sürümünün öne çıkan özelliklerinden biri olmaya devam eder. Python, programlama dilinin önceki sürümlerinde bulunan önceden var olan eşleşme durumu ifadelerini iyileştirmeyi amaçlar. Python içindeki mevcut eşleşme durumu ifadelerinde bir güncelleme yapıldı.
Yapısal Örüntü Eşleştirme uygulamalarına hızlı bir göz atalım:
Match-case ifadesi bir süredir Python dilinin bir parçası. Bu ifade temel olarak, sıkıcı yazı yazma işinden kaçınmak için kullanılır.
eğer-else ifadesi defalarcaYeni yapıda bu özelliği kullanarak benzer özelliklere sahip nesnelerle eşleştirme yapabilirsiniz.
media_object ile eşleş:
vaka Resmi (type="jpg"):
# Olduğu gibi dön
media_object'i döndür
vaka Görüntüsü (type="png") | Resim (type="gif"):
render_as döndür (media_object, "jpg")
vaka Videosu():
yükseltme ValueError("Henüz videodan kareler çıkarılamıyor")
case other_type:
İstisnayı artır (f "Medya türü {media_object} henüz işlenemiyor")
Yeni python kitaplığı jpg, gif ve videolar gibi nesneleri tanır. Bu kod, hata atmadan sorunsuz bir şekilde çalışabilir.
2. Geliştirilmiş Hata Mesajları
Her kodlayıcı, kod yazarken hataların önemini ve bazı hata türlerinin ne kadar sinir bozucu olabileceğini muhtemelen anlar. Python'un önceki sürümleri, sözdiziminde sorunlar olduğu anda hata mesajları veriyordu. Bunlar, diğer sorunların yanı sıra yanlış söz dizimi, eksik anahtar kelimeler, yanlış veya yanlış yazılmış anahtar kelimeler nedeniyle olabilir.
Bu hata mesajları mükemmel olmaktan uzaktı çünkü yeni başlayanlar için (bazen ileri düzey kullanıcılar bile) kodlarındaki hatanın gerçek nedenini tespit etmek zorlaştı. Bir programcı olarak Google, farklı hata mesajlarının arkasındaki nedeni deşifre etme konusunda müttefikiniz olmaya devam ediyor.
Örneğin, birçok kişi Python'un neden aşağıdaki hatayı verdiğini bilmeyebilir:
SyntaxError: hata mesajı ayrıştırılırken beklenmeyen EOF.
Bu tür ifadelerdeki netlik eksikliği, en yeni Python sürümünün mevcut hata mesajlarını iyileştirmesine neden oldu.
Eski mesajlar, aşağıdakiler gibi anlaşılması kolay hata mesajlarıyla değiştirildi:
{ hiç kapanmadı ayrıştırma sırasında beklenmeyen EOF
Bazı daha fazla değişiklik şunları içerir:
Aşağıdaki gibi öznitelik hataları:
koleksiyonlardan içe aktarma adlıtoplo
'koleksiyonlar' modülünün 'namedtoplo' özelliği yoktur. Bunu mu demek istediniz: nametuple?
NameError mesajları şöyle görünecek şekilde değiştirilir:
yeni_var = 5
yazdır (new_vr)>
NameError: 'new_vr' adı tanımlı değil. Bunu mu demek istediniz: new_var?
3. Parantez İçi Bağlam Yöneticileri
Yeni Parantezli Bağlam Yöneticileri, kodunuzun daha şık görünmesini sağlayabilir. Önemli bir özellik olmasa da, kodunuzu kolayca daha az karmaşık hale getirebilir. Bu özellik, bir ekip halinde çalışıyorsanız ve kodunuzun yapılandırılması gerekiyorsa faydalıdır.
Şöyle bir ifade yazdığınızı hayal edin:
open('file1.txt', 'r') fin olarak, open('file2.txt', 'w') fout olarak:
fout.write (fin.read())
Yukarıdaki kod çalışıyor, ancak ilk satır çok uzun ve beceriksiz görünüyor. Bir ters eğik çizgi kullanarak satırı kesebilirsiniz (\) ve kodun yapılandırılmış görünmesini sağlayın:
fin olarak open('file1.txt', 'r') ile, fout olarak \ open('file2.txt', 'w') ile: fout.write (fin.read())
Yeni Parantezli Bağlam yöneticisinin tanıtılmasıyla, ayrıca parantez kullanarak da satırı kesebilirsiniz:
fin olarak (open('file1.txt', 'r') ile,
open('file2.txt', 'w') fout olarak):
fout.write (fin.read())
İlişkili: Yeni Başlayanlar İçin Uygun Python Proje Fikirleri
4. Yeni Tip Sendika Operatörü
Python 3.10'daki küçük ama kullanışlı bir özellik, yeni sendika operatörü türüdür. Her Python sürümü, önceden tanımlanmış bir dizi ipucu özelliği ile birlikte gelir.
Birleşim operatörü koşullu mantığı içerir; Örneğin, int veya batmadan yüzmek olarak yazılabilir Birlik[X, Y]. Yeni birleşim operatörü şu şekilde ifade edilebilir: int|yüzer Ayrıca.
Python 3.10'da yeni bir birlik işleneninin eklenmesi zaman kazandırır ve kodun iyi tanımlanmış görünmesini sağlar.
Örneğin:
def f (x: int | kayan nokta) -> kayan nokta:
dönüş x * 3.142
f (1) # geçiş
f (1.5) # geçiş
f('str') # linter açıklama hatası gösterecek
5. Hata Ayıklama için Kesin Satır Numaraları
Hata izlemenin sizi bir hatanın oluştuğu doğru satıra yönlendirmediğini daha önce birçok kez fark etmiş olabilirsiniz. Bu, kod yazmaya yeni başlayan kodlayıcılar için hata ayıklamayı zorlaştırır.
Kusurlu hata izleme, özellikle yazarken belirgindir sys.settrace ve Python'daki ilgili araçlar. Daha yeni sürüm bunu önemli ölçüde iyileştirir ve bir hata oluştuğunda kesin satır numaralarını görebilirsiniz.
Daha kesin bir satır numarası getirmek için Python 3.10, güvenilirliğini mevcut olandan değiştirir. co_Inotab nitelik ve yeni yöntemi kullanır co_lines() bağlanmak. Bu öznitelik öyle bir şekilde çalışır ki, f_lineo her zaman doğru satır numarasını içerir.
1. için (
2. x) [1]'de:
3. geçmek
4. geri dönmek
İlişkili: Python Kodunuzda Hata Ayıklayın
6. Ek Açıklamaların Ertelenmiş Değerlendirmesi
Python içinde, tür açıklamalarının değerlendirilmesi, işlev tanımlama zamanında gerçekleştirilir. Bu, tip açıklamalarının yukarıdan aşağıya bir şekilde satır satır değerlendirildiği anlamına gelir.
En iyi seçenek gibi görünse de, bu yaklaşımın hala iki sorunu var:
- Tip ipuçları henüz tanımlanmamış ve çalışmayan tiplere atıfta bulunur; bu ipuçlarının dizeler olarak ifade edilmesi gerekir.
- Tip ipuçları gerçek zamanlı olarak yürütüldüğünden modül içe aktarmaları yavaşladı.
Yürütme sorunlarından kaçınmak için ek açıklamalar şurada saklanır: _ek açıklamalar_ ve değerlendirme birlikte yapılır. Bu, modül içe aktarmaları ilk olarak yürütüldüğü için ileri referansa izin verir ve böylece başlatma süresini azaltır.
Python 3.10'daki En Yeni Özelliklerle Çalışmak
Python'un en yeni sürümü 4 Ekim 2021'de yayınlanacak; mevcut sürümlerde bulunan hataları düzeltmeyi vaat ediyor. Takip eden sürümler, mevcut 3.10 sürümünü geliştirecektir.
Yapısal Model Eşleme, bu yeni güncellemenin öne çıkan özelliğidir ve benzer nesneler için kod yazmayı kolaylaştırır. Parantezli Bağlam Yöneticileri ve yeni tip Union Operatörleri gibi diğer özellikler, kodu daha basit ve verimli hale getirmeyi amaçlar.
Yine de, mevcut Python sürümlerinde bazı mükemmel istisna işleme teknikleri vardır. Python'un işlevlerini iyi bir şekilde kullanabilirsiniz.
Kodlama temellerinizi Python istisnalarıyla koruyun.
Sonrakini Oku
- Programlama
- Programlama
- piton
- Kodlama İpuçları
Wini, 2 yıllık yazma deneyimine sahip Delhi merkezli bir yazardır. Yazma çalışmaları sırasında dijital pazarlama ajansları ve teknik firmalarla ilişkilendirildi. Programlama dilleri, bulut teknolojisi, AWS, Makine Öğrenimi ve çok daha fazlasıyla ilgili içerik yazmıştır. Boş zamanlarında resim yapmayı, ailesiyle vakit geçirmeyi ve fırsat buldukça dağlara seyahat etmeyi seviyor.
Haber bültenimize abone ol
Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!
Abone olmak için buraya tıklayın