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

  • superflyy88

    superflyy88

    8 ŞUBAT 2009
  • theavettbrothers

    theavettbrot

    9 ŞUBAT 2007
  • YAN TV

    YAN TV

    20 EKİM 2011