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

  • bethliebert

    bethliebert

    23 EKİM 2008
  • Liberator

    Liberator

    14 EYLÜL 2007
  • TimMinchinLive

    TimMinchinLi

    23 ŞUBAT 2009