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

  • Autodesk 3ds Max Learning Channel

    Autodesk 3ds

    23 HAZİRAN 2010
  • bmarian22

    bmarian22

    22 Aralık 2007
  • parlophone

    parlophone

    28 ŞUBAT 2006