Perl gibi dillerle karşılaştırıldığında Python'un sınırlı sayıda kontrol yapısı vardır:
- Sadece
if
ve hiçbir unless
,
- sadece
for
diziler üzerinde yinelenen ve hiç olmayan foreach
veya C tarzı for
,
- Sadece
while
bu her döngü ve hayır bir koşulu denetler do-while
,
- Sadece
if-elif
ve 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
list
tü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
tuple
tü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 None
yerine yazabilirsiniz if not (foo is None)
çünkü 'değil' özeldir. Yine de foo is not None
kolayca 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 ( if
ve 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 str
ve bytes
yanlışlıkla harmanlayamayacağınız ikili-saydam var .
"""
yorumları unutma (dokümanlar). Bunlar birden fazla satıra yayılır.