SORU
8 ŞUBAT 2011, Salı


Nasıl bir sınıf nesnesi için özel bir dize gösterimini oluşturmak için?

Düşünün bu sınıf

class foo(object):
    pass

Varsayılan dize gösterimini bu gibi görünür:

>>> str(foo)
"<class '__main__.foo'>"

Nasıl bu ekran özel bir dize yapabilir miyim?

CEVAP
8 ŞUBAT 2011, Salı


Sınıfın metaclass __str__() __repr__() uygulamak.

class MC(type):
  def __repr__(self):
    return 'Wahaha!'

class C(object):
  __metaclass__ = MC

print C

Eğer okunabilir bir stringification kastediyorsan __str__ kullan, kullan kesin gösterimleri için __repr__.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • arnejann

    arnejann

    3 Kasım 2007
  • Capcom Unity

    Capcom Unity

    5 NİSAN 2010
  • TechXCentral

    TechXCentral

    12 Temmuz 2011