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ş:
Nasıl alfa-sayısal rasgele bir dize ol...
Nasıl bir dosyanın içeriğini bir Java ...
Nasıl en iyi Ruby rastgele bir dize ol...
nasıl bir dize bir akışı oluşturmak iç...
Rasgele, benzersiz, alfasayısal bir di...