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

  • Matthew Pearce

    Matthew Pear

    9 AĞUSTOS 2009
  • Peyton

    Peyton

    28 Aralık 2008
  • Ralph Phillips

    Ralph Philli

    5 Aralık 2006