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

  • Gigawipf

    Gigawipf

    18 ŞUBAT 2010
  • Myron and Nejusha dance

    Myron and Ne

    2 AĞUSTOS 2012
  • STITCHLESS TV how to sew your own style tutorials

    STITCHLESS T

    9 HAZİRAN 2011