Python 3.12 programlama dili, F dizeleri için daha esnek sözdizimine olanak tanır

Saberie

Active member


  1. Python 3.12 programlama dili, F dizeleri için daha esnek sözdizimine olanak tanır

Tam zamanında Python Yazılım Vakfı, her yıl yeni bir ana sürümü içeren sürüm döngüsüne uygun olarak Python 3.12’yi yayınladı. Programlama dili artık diğer özelliklerinin yanı sıra daha net bir sözdizimi, daha yüksek performans, basitleştirilmiş bir standart kitaplık ve daha anlamlı hata mesajları ile övünebilir. F-String’ler için geliştirme ekibi, daha esnek kullanıma olanak sağlamak amacıyla mevcut bazı kısıtlamaları ortadan kaldırdı.

Duyuru



F dizileri için yeni olanaklar


Python 3.12, Mayıs 2023’teki ilk beta sürümünden bu yana zengin özelliklere sahip olarak kabul ediliyor. Yenilikler arasında F dizelerinin daha esnek işlenmesi yer alıyor. Python 3.6’dan itibaren, F dizeleri veya biçimlendirilmiş dize değişmezleri programlama dilinin bir parçasıdır ve ifadelerin dizelere entegrasyonunu basitleştirir.

Python 3.12 şimdi, daha önce PEP 498 ile tanıtılan F dizelerinin sözdizimsel bir biçimlendirmesi olan Python Geliştirme Teklifi (PEP) 701’i sunuyor. Bu, bazı kısıtlamaların artık geçerli olmadığı anlamına geliyor. Aşağıdaki örnekte olduğu gibi bir ifade içindeki tırnak işaretleri, daha önce geçersiz söz dizimi nedeniyle bir hata mesajı oluşturmaktaydı:


>>> f'Magic wand: { bag['wand'] }'


PEP 701 ile normal bir Python ifadesinde oluşabilecek herhangi bir dize değişmezi artık bir ifade bileşenine eklenebilir. Bu, aynı tür tırnaklarla bir F dizesinin ifade bileşeninin içine biçimlendirilmiş veya biçimlendirilmemiş gerçek dizeleri yerleştirme olasılığını açar:


>>> f"These are the things: {", ".join(things)}"

>>> f"{source.removesuffix(".py")}.c: $(srcdir)/{source}"

>>> f"{f"{f"infinite"}"}" + " " + f"{f"nesting!!!"}"


Benzer davranışlar, JavaScript, Ruby veya C# gibi diğer programlama dillerinden de zaten bilinmektedir. Ancak PEP’in açıkladığı gibi Python kullanıcıları bu noktada bölünmüş durumda. Örneğin, özel bir ankette, %68’i F dizelerindeki tırnak işaretlerinin yeniden kullanılmasını desteklediğini söylerken, %32’si bu özelliğe karşı çıkıyor. Ancak Aralık 2022’den bu yana devam eden ankete yalnızca 159 kişi katıldı.

Diğer F-String yenilikleri arasında ters eğik çizgilerin () ifade bileşeninin içinde.

Genel sınıflar için modernleştirilmiş sözdizimi


Ayrıca başka bir alanda da sözdizimi değişikliği vardır: PEP 695, takma adlarda, işlevlerde ve genel tür sınıflarında tür parametrelerini belirtmek için yeni bir sözdizimini açıklar. Jenerik tiplerle ilgilenen diğer programlama dillerini temel alır.

Python geliştirme ekibi, genel bir sınıf tanımlamanın eski ve yeni yollarını karşılaştırıyor. Şu ana kadar bunun sözdizimi şöyle görünüyordu:


from typing import Generic, TypeVar

_T_co = TypeVar("_T_co", covariant=True, bound=str)

class ClassA(Generic[_T_co]):
def method1(self) -> _T_co:
...


Python 3.12 ile artık daha kısa:


class ClassA[T: str]:
def method1(self) -> T:
...


Standart kitaplık, performans ve hata mesajları için güncellemeler


Sürüm, yeni özellikler sunmanın yanı sıra artık ihtiyaç duyulmayan bileşenleri standart kitaplıktan kaldırır. Buna ek modüller oluşturmak ve Python kurulumuna entegre etmek için kullanılan distutils paketi de dahildir. İçerdiği API’leri değiştirmek istiyorsanız, Eylül 2020 itibarıyla distutillerin standart kitaplıktan kaldırıldığını bildiren PEP 632 geçiş kılavuzunda bilgi bulacaksınız. Distutils’i kullanmaya devam etmek isteyen geliştiriciler, üçüncü taraf Kurulum Araçları aracını kullanabilir.

Beta sürümünden bu yana bilinen diğer güncellemeler arasında, diğer şeylerin yanı sıra, anlamaların farklı bir şekilde kullanılması yoluyla daha önemli hata mesajları ve geliştirilmiş performans yer alıyor.

Python 3.12’deki yeni özellikleri duyuru ve belgelerde bulabilirsiniz. Yeni ana sürüm resmi web sitesinden indirilebilir.


(Mayıs)



Haberin Sonu
 
Üst