SORU
16 Ocak 2009, Cuma


._Python nesne_Xi__(self) bir ifade olmalıdır?

Python documentation yerleşik nesne yöntemleri bakıyordum ve object.__repr__(self) belgelerinde ilgimi çekti. Şöyle yazıyor:

Bu Xi() adlı yerleşik işlev ve dize dönüştürme (ters tırnak) “resmi”hesaplamak için bir nesneyi dize gösterimine. Eğer eğer mümkünse, bu gibi görünmelidir geçerli bir Python ifadesi olabilir bir nesneyi yeniden oluşturmak için kullanılabilir aynı değer (uygun verilen ortamı). Eğer bu mümkün değilse, form < dizesi;...bazı yararlı açıklama...>iade edilmelidir. Dönüş değeri bir dize olması gerekir nesne. Eğer bir sınıfı tanımlıyorsaXi() ama değilstr()Xi() bir “” string gayri resmi de kullanılır bunun örneklerini temsil sınıf gereklidir.

Bu genellikle hata ayıklama için kullanılır bu çok önemlidir gösterimi-zengin bilgi ve kesin

Benim için en ilginci

Eğer mümkünse, bu aynı değere sahip bir nesne yeniden oluşturmak için kullanılabilecek geçerli bir Python ifadesi gibi görünmelidir

... ama bu tam olarak ne anlama geldiğini emin değilim. Gerektiği yazıyorbakgibi bir ifade de olabilir, yeniden nesne, ama demek gerekir sadece bir örnek böyle bir ifade olabilir, ya da bu olsun gerçek bir ifade, bu idam (eval vb.) yeniden nesne? Ya da... kullanılan gerçek ifadenin sadece bir rehasing, saf bilgi amaçlı olmalıdır?

Genel olarak buraya koymalıyım tam olarak biraz kafam karıştı.

CEVAP
16 Ocak 2009, Cuma


>>> from datetime import date
>>>
>>> repr(date.today())        # calls date.today().__repr__()
'datetime.date(2009, 1, 16)'
>>> eval(_)                   # _ is the output of the last command
datetime.date(2009, 1, 16)

Çıkış eşit bir nesne python yorumlayıcısı ve sonuçları ile ayrıştırılabilir bir dize.

Eğer bu mümkün değilse, <...some useful description...> şeklinde bir dize döndürmesi gerekir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Droid Life

    Droid Life

    17 Kasım 2009
  • MandMEvangelists

    MandMEvangel

    28 Ocak 2008
  • Matthew Smith

    Matthew Smit

    24 Mayıs 2010