SORU
17 AĞUSTOS 2010, Salı


Bir değişken bir tamsayı olup olmadığını kontrol etmek ya da değil

Nasıl bir değişken bir tamsayı olup olmadığını kontrol edebilirim?

CEVAP
17 AĞUSTOS 2010, Salı


Eğer bunu yapmanız gerekiyorsa, yapın

isinstance( <var>, int )

Python 2'de olmadığınız sürece.bu durumda istediğiniz x

isinstance( <var>, ( int, long ) )

type kullanmayın. Bu polimorfizmi tüm esnekliğini engeller beri neredeyse hiç Python doğru cevap. Eğer alt örneğin, eğer int, yeni bir sınıf olarak kayıt olmalıdır type hangi int,:

class Spam( int ): pass
x = Spam( 0 )
type( x ) == int # False
isinstance( x, int ) # True

Python güçlü polimorfizmi için bu bağlıdır: int, ben de zorunlu yerine. bir gibi davranan herhangi bir nesne izin vermelisiniz

AMA

Klasik Python zihniyet, olsa,kolay özür dilemek, izin istemekten. Diğer bir deyişle, x bir tamsayı olup olmadığını kontrol edin; olduğunu varsayalım ve eğer öyle değil ise bile istisna sonuçları kaçırma:

try:
    x  = 1
except TypeError:
    ...

Bu zihniyet yavaş yavaş nesne olması gereken tam olarak kayıt edelim abstract base classes kullanımı gerisinde ediliyor (ekleme? çoğalıyor? iki katına mı?) yaparak özel olarak inşa edilen bir sınıftan devralır. Bu izin beri en iyi çözüm olacaktırtam olarakgerekli ve yeterli olan bu nesnelerin öznitelikleri, ama nasıl kullanılacağına dair belgeleri okumak gerekir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Felice Musique

    Felice Musiq

    22 NİSAN 2014
  • jcortes187

    jcortes187

    24 Mart 2006
  • Microsoft Research

    Microsoft Re

    24 EKİM 2008