Python Kod

  1. Anasayfa
  2. »
  3. Genel
  4. »
  5. Python 3.9 Nedir?

Python 3.9 Nedir?

admin admin - - 20 dk okuma süresi
75 0

Python programlama dili, her geçen gün daha fazla kullanıcı tarafından tercih edilmektedir. Python 3.9 ise, bu dilin son sürümüdür ve birçok yeni özellik sunmaktadır. Bu sürümle birlikte, yenilikler getirilerek dilin kullanımı daha da kolay hale getirilmiştir.

Python 3.9’un özellikleri arasında bağlamsal dizgiler, performans iyileştirmeleri, yeni kodlama özellikleri ve zorunlu anahtar kelime argümanları gibi birçok özellik bulunmaktadır. Bunlar, Python kullanıcıları için oldukça yararlı ve faydalıdır.

Python 3.9, programlama alanında birçok avantaja sahip olan güçlü bir platformdur. Bu sürüm, programcıların daha kolay ve hızlı bir şekilde uygulama geliştirmelerine olanak tanır. Ayrıca, çok sayıda modül ve araç desteği sunarak, daha fazla işlevsellik sağlar.

Yeni sürüm, önceki sürümlerden farklı olarak daha hızlı ve güçlüdür. Programcılar, bu özellikler sayesinde daha verimli kod yazabilirler. Bunların yanı sıra, Python 3.9, daha önce görülmemiş özellikleri bünyesinde barındırarak, yenilikçi bir platformdur.

Yeni Özellikler

Python 3.9, birçok yeni özellikle birlikte gelirken aynı zamanda mevcut özellikleri de geliştirdi. Bunlardan bazıları şunlardır:

  • Bağlamsal Dizgiler: Bu özellik, daha önceki Python sürümlerinde var olan fakat eksikleştirdiğimiz bir özelliktir. Bağlamsal dizgiler, yazımı ve okunması kolay bir farklılaştırma teknolojisidir.
  • Performans İyileştirmeleri: Python 3.9, performansı birçok açıdan iyileştirmek için birçok yeni özelliği bünyesinde barındırır. Bunun yanı sıra, Python 2 ile karşılaştırıldığında birçok işlemin daha hızlı çalışmasını sağlar.
  • Metin Kodlama: Python 3.9 sürümüne yeni eklenen metin kodlama özellikleri, Unicode standardını tamamen destekleyen yeni kodlama stillerini içerir. Bunun yanı sıra, ASCII kodlaması yerine Unicode’ı tercih eden bir dizi standart değiştirildi.
  • Zorunlu Anahtar Kelime Argümanları: Fonksiyonların argümanlarında zorunlu anahtar kelime argümanları kullanımı, Python 3.9 ile standart hale geldi. Bu özellikle birlikte kodlama yaparken argümanlar daha açık ve net olurken hata yapma riski de azalır.
  • Fonksiyon ve Method Type Hints: Fonksiyon ve methodların tip ipuçlarına yönelik yapılan iyileştirmeler, kod kalitesini ve okunabilirliğini artırmak için düzenlenmiştir. Bu özellik ile fonksiyon ve methodlara hangi türlerin girdi ve çıktı olarak kullanılabileceği konusunda ipuçları verilir.

Python 3.9’da eklenen bu özellikler, Python programlamayı daha da kolaylaştırırken aynı zamanda işlem hızını da artırarak daha verimli bir programlama deneyimi sunar.

Bağlamsal Dizgiler

Bağlamsal dizgiler, önceden yapılandırılmış bir şablonu, değişkenler veya ifadelerle birleştirerek sonuç olarak oluşan bir dize (string) veri tipidir. Özellikle veritabanı gibi dış kaynaklardan aldığımız verileri işlerken sıkça karşılaştığımız verileri belirli bir şablon içinde göstermek için kullanılırlar. Python 3.9 ile bağlamsal dizgiler daha da geliştirilerek kullanımı kolaylaştırılmıştır.

Bağlamsal dizgilerde süslü parantezler içindeki ifadeler ve değişkenler, .format() metodu ile kullanılabilmektedir. Ayrıca süslü parantezlerin içerisinde belirtilen parametre adı ile de kullanılmaları mümkündür. Böylece, birden fazla değişkeni tek bir dize içinde tek seferde vermek ve bunları kontrol etmek daha kolay hale gelmiştir. Ayrıca, süslü parantezlerin içine koymak yerine metnin içine direkt olarak parametreleri yerleştirmek de mümkündür.

Örnek Kullanımlar Sonuç
print("Merhaba, benim adım {} ve {} yaşındayım".format(isim, yas)) Merhaba, benim adım Ali ve 24 yaşındayım
print(f"Benim adım {isim} ve {yas} yaşındayım") Benim adım Ali ve 24 yaşındayım

Bağlamsal dizgiler kullanılarak, oluşturulacak bir metnin dinamik olarak değişebilen kısımlarını yönetmek daha kolay ve okunaklı hale gelmiştir. Bu nedenle, Python 3.9 ile birlikte bu özellik, işlevselliği arttırmak adına geliştirilmiş ve kullanımı yaygınlaşmıştır.

Yeni Operatörler

Bağlamsal dizgilerin kullanımına olanak sağlayan Python 3.9, yeni operatörler de getirdi. Bu operatörler sayesinde, özellikle Karmaşık seçimler yapmanız gerektiğinde syntax’ınızı basitleştirebilirsiniz. Bu yeni operatörlerle, if/else ifadelerindeki dizgiyi ve döngülerdeki koşulu basitleştirebiliyorsunuz. Örneğin, “in” kelimesi bir operatördür ve “not in” şeklinde kullanıldığında, belirtilen öğenin bir dizi ya da listede bulunmadığı durumda doğru olarak sonuçlanır. Yeni bağlamsal operatörler arasında, “|=” ve “&=” gibi operatörler de mevcuttur. “|” operatörünün kullanım örneği, “a |= b” şeklinde kullanıldığında “a= a|b” şeklindeki kullanımı yerine daha özet bir ifade oluşturur. “&=” operatörü ise benzer şekilde kullanılır ve “a &= b” şeklinde kullanıldığında ” a= a&b” şeklindeki kullanım yerine daha özet bir ifade oluşturur.

Performans İyileştirmeleri

Python 3.9 sürümü ile yapılan performans iyileştirmeleri son kullanıcılara oldukça fayda sağlıyor. Bu iyileştirmeler sayesinde Python 3.9 çok daha hızlı ve verimli bir dil haline geldi. Peki, bu iyileştirmeler nelerdir?

Öncelikle, yeni sürümde getirilen bir özellik olan Adaptive Loading sayesinde, modül kodu derlenirken daha az bellek kullanılıyor. Bu da derleme süresinin kısılmasını sağlıyor. Bunun yanı sıra, Vectorcall özelliği de oldukça önemli bir iyileştirme. Bu özellik, C fonksiyonlarının Python fonksiyonlarından daha hızlı çağırılmasını sağlıyor ve performansı arttırıyor.

Ayrıca, AsyncIO kütüphanesi de Python 3.9’da birçok iyileştirme ile birlikte geliyor. Bu iyileştirmeler sayesinde, AsyncIO uygulamaları daha yüksek verimlilikle çalışabiliyor. Bunun yanı sıra, f-strings özellikleri sayesinde de string işlemleri daha hızlı ve kolay bir şekilde yapılabiliyor.

Sonuç olarak, Python 3.9 sürümü performans açısından diğer Python sürümlerine göre oldukça önemli iyileştirmeler getiriyor. Bu iyileştirmeler sayesinde kullanıcılar, daha hızlı ve verimli bir dil kullanarak projelerini daha kolay bir şekilde tamamlayabilirler.

Metin Kodlama (Encoding)

Metin kodlama, bilgisayar sistemlerinde karakterlerin nasıl temsil edileceğiyle ilgilidir. Python 3.9 sürümüyle birlikte gelecek olan yeni kodlama formatları, metin ile çalışanların daha az sorunla karşılaşmasını sağlar. Python 3.9, çeşitli dil ve kültürlere sahip kullanıcıların programlarında Unicode karakterlerini kullanmalarına olanak tanıyan gelişmiş bir Unicode desteği sunmaktadır.

Ayrıca Python 3.9 ile birlikte, daha önce .encode () ve .decode() metodlarıyla yapılan str ve bytes arasındaki dönüşümler sırasında ortaya çıkabilen hatalar artık engellenebilecek. Bu sayede yazılım geliştiricileri, karakter kodlama hataları nedeniyle sistem hatalarıyla karşılaşmaktan kurtulacaklar.

Kodlama Açıklama
UTF-8 Dünya çapındaki tüm Unicode karakterlerini destekler ve diğer tüm kodlamalara göre daha verimlidir
UTF-16 Her karakteri 2 ya da 4 byte’lara ayırarak kodlar ve özellikle emoji vb. karakterlerle ilgili sorunları en aza indirmek için kullanılır
ISO-8859-1 Batı Avrupa dilleri için kullanılan tek byte’lık bir kodlama türüdür

Python 3.9, yeni kodlama formatları sayesinde karakter kodlama hataları ve sorunlarına son vermeyi hedeflemiştir. Yazılım geliştiricileri, Unicode karakterlerini ve farklı kodlama türlerini kullanarak programlarını daha sağlıklı bir şekilde geliştirebilecekler.

Python 3.9 ile Gelen Değişiklikler

Python 3.9 ile birçok değişiklik ve iyileştirme yapılmıştır. Öncelikle, Python 3.8’den farklı olarak Python 3.9’da artık UTF-8 kodlaması varsayılan olarak gelmektedir. Bu sayede, kodlama problemlerinin önüne geçilmiş ve kodlamayla ilgili hatalar azaltılmıştır.

Python 3.9’da, fonksiyonlardaki argüman kullanımında da değişiklikler yapılmıştır. Zorunlu anahtar kelime argümanları kullanımı getirilerek, fonksiyonların çağrılmasında daha doğru ve anlaşılır bir yapı oluşturulmuştur.

Ayrıca, Python 3.9 ile birlikte fonksiyon ve methodların tip ipuçları da daha fazla kullanılmaktadır. Bu ipuçları sayesinde, fonksiyonların argüman ve geri dönüş değerlerinin tipi hakkında bilgi verilir ve hataların önüne geçilir.

Performans iyileştirmeleri de Python 3.9 ile birlikte dikkat çeken özellikler arasında yer almaktadır. Özellikle, macOS platformunda yapılan iyileştirmeler sayesinde Python 3.9’un performansı artmıştır.

Bu değişikliklerin yanı sıra, Python 3.9 ile birlikte desteklenmeyi bırakan özellikler de belirlenmiştir. Bu özellikler, gelecekteki sürümlerde yer almayacaktır ve Python 3.9’da kullanımı sonlandırılmıştır.

Tablo olarak, Python 3.9 ile yapılan değişiklikleri şu şekilde özetleyebiliriz:

UTF-8 kodlaması varsayılan olarak gelmektedir.
Zorunlu anahtar kelime argümanları kullanımı getirilmiştir.
Fonksiyon ve methodların tip ipuçları daha fazla kullanılmaktadır.
Performans iyileştirmeleri yapılmıştır.
Desteklenmeyi bırakan özellikler belirlenmiştir.

Zorunlu Anahtar Kelime Argümanları

Python 3.9 sürümü ile birlikte, fonksiyonların argümanlarına zorunlu anahtar kelime argümanları eklendi. Bu özellik, fonksiyonlarımızdaki belirli parametrelerin anahtar kelime argümanları olarak belirlenerek çağrılmalarının zorunlu hale getirilmesini sağlar. Bu sayede, fonksiyonların kullanımında meydana gelen hatalar önlenir ve kod kalitesi artırılır.

Örneğin, aşağıdaki ‘selamla’ fonksiyonunu ele alalım:

def selamla(isim, mesaj="Merhaba"):    print(f"{mesaj}, {isim}!")selamla("Ali") # Merhaba, Ali!selamla("Ahmet", "Nasılsın?") # Nasılsın?, Ahmet!

Bu fonksiyonda, mesaj parametresi varsayılan bir değere sahiptir. Fonksiyon çağrılmadan önce eğer bir mesaj değeri belirtilmezse, varsayılan değer olarak ‘Merhaba’ değeri kullanılır. Ancak, bu durumda mesaj argümanının fonksiyon çağrısı sırasında anahtar kelime argümanı olarak belirtilmesi zorunlu kılınabilir:

def selamla(isim, *, mesaj="Merhaba"):    print(f"{mesaj}, {isim}!")selamla("Ali") # Hata!selamla("Ahmet", mesaj="Nasılsın?") # Nasılsın?, Ahmet!

‘*’ işareti, mesaj parametresinin belli bir anahtar kelime argümanı olarak belirlendiğini gösterir. Bu sayede, fonksiyon çağrısı sırasında mesaj parametresi anahtar kelime argümanı olarak belirtilmediği sürece hata meydana gelir.

Fonksiyon ve Method Type Hints (İpuçları)

Fonksiyon ve method type hints, Python 3.5 ile birlikte tanıtılmış bir özelliktir ve amaçları fonksiyon veya methodlarda kullanılan argümanların ve döndürülen değerlerin tipini belirlemektir. Bu sayede, kodda olası hataların önlenmesine ve kodun okunabilirliğinin arttırılmasına yardımcı olurlar.

Python 3.9 ile birlikte fonksiyon ve method type hints özellikleri geliştirilmiş ve kullanımları daha da kolay hale getirilmiştir. Artık, fonksiyon ve methodların içinde kullanılan argüman ve döndürülen değerlerin isimleri de belirtilebilmektedir.

Bir örnek olarak, aşağıdaki kodda tip ipuçları kullanılarak bir fonksiyon oluşturulmuştur:

Kod Açıklama
def topla(a: int, b: int) -> int:    return a + b
Bu fonksiyon, iki tamsayı argüman alır ve tamsayı olarak döndürür.

Bu şekilde tanımlanmış bir fonksiyonun kullanımı sırasında hatalı bir veri tipi gönderilmeye çalışıldığında, hata mesajı direkt olarak görülebilir ve hata kaynağı daha kolay bir şekilde tespit edilebilir.

Bunun yanı sıra, type hints özelliği sayesinde, Google, Microsoft ve diğer büyük şirketlerin kendi yazılımlarında kullanabilecekleri tip bilgileri sağlanmaktadır. Bu sayede, Python’un daha yaygın bir şekilde kullanılması amaçlanmaktadır.

Python 3.9 ile Gelecek Olan Değişiklikler

Python 3.9’dan sonra gelecek sürümlerde birçok değişiklik bekleniyor. Bunların arasında en önemlilerinden biri, Python 4.0 sürümünde kullanıma sunulacak olan yeni bir gömülü ürün hattıdır. Bu hat, daha önce kullanılan C API yerine yeni bir Rust API’ye sahip olacak. Bu değişiklik, Python geliştiricilerinin performansı ve güvenliği artırmayı amaçlamaktadır.

Bir diğer değişiklik, Python 4.0 sürümünde de kullanılmak üzere olacak olan yeni bir veri yapısı olan “frozenlist”tir. Bu veri yapısı, immutability yani değişmezlik özelliği taşıyan bir liste türüdür. Ayrıca, bu gelecek sürümlerde mevcut olan “dict” veri yapısı üzerinde de değişiklikler yapılması planlanıyor. Bu değişiklikler, daha performanslı ve bellek açısından daha verimli bir “dict” yapısının kullanılmasını sağlayacaktır.

Gelecekteki Python sürümlerinde ayrıca, standart kütüphane ve “asyncio” modülü ile ilgili olarak bazı önemli değişikliklerin de yapılacağı düşünülmektedir. Bunların yanı sıra, “PEP 563” kapsamında yapılması planlanan değişiklikler ile “f-string” özelliği de güçlendirilecektir. Bu özellik sayesinde, Python programcıları daha yüksek performans ve daha okunaklı kod yazabileceklerdir.

Python geliştiricileri, gelecekteki sürümlerinde de kullanıcılara daha iyi bir deneyim sunmayı amaçlamaktadır. Bu nedenle, gelecekteki sürümlerde birçok değişiklik yapılacağı ve Python programlama dilinin daha da geliştirileceği açıkça görülmektedir. Bu değişikliklerin büyük bir kısmı performans, güvenlik ve bellek tasarrufu açısından kullanıcıları tatmin edecek değişiklikler olacaktır.

Sonlandırılan Özellikler

Python 3.9 ile birlikte bazı özellikler de sonlandırıldı. Bu özellikler, gelecekteki Python sürümlerinde desteklenmeyecek ve kullanımından kaçınılması öneriliyor. Bu nedenle, mevcut Python uygulamalarınızı bu özelliklerden arındırmak için bir plan yapmanız gerekebilir.

Bunlar arasında en önemli olanı, sıralı özelliklere yararlanılan ‘list.sort()’ metodunun artık, keyword-only stratejisiyle kullanılması gerekiyor oluşudur. Bu, mevcut uygulamalarınızda kullanılan milyonlarca ‘list.sort()’ çağrısını etkileyebilir. Diğer bir sonlandırılan özellik ise ‘distutils’ paketi. Bu, eski Python uygulama alanlarında popüler olan sayısız özellik içeriyor ve artık ‘setuptools’ paketini kullanmanız öneriliyor.

Sonlandırılan özellikler listesinde ayrıca, ‘asyncio.async()’ fonksiyonu, ‘typing.AsyncIterable’ ve ‘typing.AsyncIterator’ sınıfları, ‘asyncio.Handle.cancel()’ ve ‘asyncio.Handle.reset()’ metodları ile ‘asyncio.AbstractEventLoop.getaddrinfo()’ yer alıyor. Bu özelliklerin tümü, gelecekteki Python sürümlerinde desteklenmeyecek ve Python 3.9 ile birlikte bu özellikleri kullanan uygulamalar yeniden kodlanması gerekebilir.

Yukarıda sayılan özelliklerin kullanımı, Python uygulamanızın performansını ve güvenliğini etkileyebilir. Bu nedenle, Python 3.9 sürümüne yükseltmeden önce mevcut kodlarınızda bu özellikleri arındırmak önemlidir.

İlgili Yazılar

Bir cevap yazın

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