SORU
6 ŞUBAT 2010, CUMARTESİ


Her şeyi Yok daha mı büyük?

Orada bir Python yerleşik veri türüNone ayrıcahangi için:

>>> not foo > None
True

nerede foo bu türde bir değer? Nasıl Python 3 hakkında?

CEVAP
6 ŞUBAT 2010, CUMARTESİ


None her zaman Python 2'de herhangi bir veri türü daha az (object.c).

Python 3, Bu değiştirildi; şimdi TypeError bir mantıklı doğal bir sonuç olmadan sipariş şeyler üzerinde karşılaştırmalar yaparak.3.0 "what's new" updates:

Python 3.0 karşılaştırmalar sipariş için basitleştirilmiş kurallar vardır:

Sipariş karşılaştırma operatörleri (<, <=, , *>=*10) işlenen bir anlamlı doğal bir sipariş yok TypeError bir istisna yükseltmek. Böylece, ifadeler gibi: 1 < '', 0 > None len <= len artık geçerli değil, ve *15 örneğin* False döndürmek yerine TypeError yükseltir. Bir sonucu heterojen bir listesi sıralama artık mantıklı – tüm unsurları birbirine benzer olmalıdır. Bu == != operatörler için geçerli değildir not: farklı, benzersiz türleri her zaman birbirine eşit olmayan nesneleri karşılaştırmak.

Bu üzgün bazı insanlar bu yana sık sık, kullanışlı bir şeyler yapmak gibi bir sıralama listesi vardı None değerleri, ve None değerleri görünür kümelenmiş birlikte başında mı yoksa sonunda.There was a thread on the mailing list about thisbir süre önce, ama nihai nokta Python 3 sipariş ile ilgili keyfi kararlar önlemek için Python 2'de çok şey oldu () çalışır.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • oHeymarvin

    oHeymarvin

    11 Temmuz 2013
  • parlophone

    parlophone

    28 ŞUBAT 2006
  • whiteboy7thst

    whiteboy7ths

    1 Temmuz 2009