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

  • Blendtec

    Blendtec

    30 EKİM 2006
  • filmurfreakur

    filmurfreaku

    29 Mart 2007
  • SignatureSeries

    SignatureSer

    24 Aralık 2006