Perl gibi dillerle karşılaştırıldığında Python'un sınırlı sayıda kontrol yapısı vardır:
- Sadece
ifve hiçbir unless,
- sadece
fordiziler üzerinde yinelenen ve hiç olmayan foreachveya C tarzı for,
- Sadece
whilebu her döngü ve hayır bir koşulu denetler do-while,
- Sadece
if-elifve hiçbir switch,
#Önceki satırlara bakmadan yorumlanacak tek bir yorum yapısı var ve yorumlanıp yorumlanamayacağını her satır için söyleyebilirsin.
Ayrıca, kaynağınızı girintinin neredeyse bir yolu var; çoğu yaratıcı girinti olgusu sözdizimsel olarak hariç tutulur.
Bu, bir Python kaynağının ayrıştırılmasını insanlar için kolaylaştırır.
Yerleşik türlerde ve standart kitaplıkta minimal ancak eksiksiz olma girişimleri vardır.
- değişken listesi için yalnızca yerleşik
listtürü kullanırsınız; çoğu işlem için O (1) 'dir ve asla doğru uygulamayı seçmek zorunda kalmazsınız,
- değişmez listeler için, eşit olarak, yalnızca
tupletürünü kullanın
- Haritalar için,
dictçoğu durumda oldukça etkili olan tek yerleşik ürünü kullanırsınız, hangi uygulamanın kullanılacağına karar vermenize gerek yoktur.
Python 3 bunu tam sayılara genişletir: tamsayınız ne kadar büyük olursa olsun, aynı türü kullanırsınız ve zorlama konusunda asla umursamazsınız.
Python, sözdizimsel şekeri önlemeye çalışır. Ancak bazen , bariz yolu belirginleştirmek için sözdizimsel şeker ekler. Bunun if foo is not Noneyerine yazabilirsiniz if not (foo is None)çünkü 'değil' özeldir. Yine de foo is not Nonekolayca okuyor, yanlış yorumlanamıyor ve düşünmek zorunda değilsiniz, sadece net olanı yazıyorsunuz.
Tabii ki, Python daha karmaşık şeylerin çoğu edebilir çeşitli şekillerde yapılabilir. Sınıflara bildirim yoluyla veya basit yuva ataması ile yöntemler ekleyebilir, çeşitli yaratıcı yöntemlerle işlevlere argümanları iletebilirsiniz.
Kilit nokta, her zaman en iyisi olması amaçlanan tek bir yolun olmasıdır, hepsi bu. Başka yollar varsa, eşit alternatifler olarak eklenmediler ( ifve ve gibi unless) değil, sadece içsel çalışmaları ortaya koyuyorlardı. Yavaş ama istikrarlı bir şekilde, bu gibi alternatifler bilinen en iyi mekanizmayı geliştirerek eski haline getirilir (yok edilmez!).
Dekoratörler AOP işlev çağrıları sararlar. 2.6'dan önce __metaclass__bir sınıfın metaclass'ını ilan etmek için magic üyeyi kullanmak zorundaydınız ; Şimdi bunun için de aynı dekoratör sözdizimini kullanabilirsiniz. 3.0'dan önce iki çeşit dizginiz vardı, bayt yönelimli ve yanlışlıkla karıştırabileceğiniz Unicode. Şimdi sadece Unicode strve bytesyanlışlıkla harmanlayamayacağınız ikili-saydam var .
"""yorumları unutma (dokümanlar). Bunlar birden fazla satıra yayılır.