SORU
28 EYLÜL 2009, PAZARTESİ


Artırma ve azaltma davranışı Python

Önceden arttırma/azaltma operatörü bir değişken ( count) uygulanabilir fark ettim. Derler, ama aslında bu değişkenin değerini değiştirmez!

Python önceden arttırma/azaltma operatörleri ( /--) davranış nedir?

Neden Python bu operatörlerin davranış C/C görülen sapma mı ?

CEVAP
28 EYLÜL 2009, PAZARTESİ


bir operatör değil. İki operatörler. operatörkimlikhiçbir şey yapmaz operatörü. (Açıklama: - tekli operatörler tek sayılar üzerinde çalışır, ancak varsayımsal bir operatör dizeleri üzerinde çalışmak için beklemek olmaz sanırım.)

  count

Ayrıştırır

 ( count)

Çevirir

count

Biraz daha uzun = operator yapmak istiyorum ne yapmanız gereken:

count  = 1

-- operatörler tutarlılık ve basitlik için kalmıştı sanıyorum. Guido van Rossum karar verdi kesin tartışmayı bilmiyorum, ama bir kaç argümanlar tahmin edebiliyorum:

  • Basit ayrıştırma. Teknik olarak, ayrıştırma count belirsiz, olabilir , , count (iki tekli operatörler) sadece kadar kolay olabilir , count (bir tekli operatör). Önemli sözdizimsel bir belirsizlik değil, ama var.
  • Daha basit bir dil. = 1 ile eşanlamlı başka bir şey değildir. Bir steno C derleyicileri aptal ve çoğu bilgisayar var inc Yönerge a = 1 optimize etmek için nasıl bilmiyordu, çünkü icat edildi. Bu günün en iyi duruma getirme derleyici ve bayt kodu yorumlanan diller, ekleme operatörler için bir dil sağlar programcılar için optimize kod genellikle hoş karşılanmaz, hele bir dil gibi Python tasarlanmış olması tutarlı ve okunabilir.
  • Kafa karıştırıcı-yan etkileri. Ortak bir çaylak hatası dilleri ile işleçler karıştırma farkları (hem de öncelik ve dönüş değeri) arasındaki öncesi ve sonrası incremend/azaltma ve Python gibilere ortadan kaldırmak dil "yakaladım"-lar. Pre-/C artış sonrası öncelikli konular çok zor ve berbat inanılmaz derecede kolay.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AverageBroTV

    AverageBroTV

    20 Mart 2013
  • BlackmillMusic

    BlackmillMus

    3 Kasım 2010
  • BurnedInDotCom

    BurnedInDotC

    3 NİSAN 2010