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

  • How To Cook That

    How To Cook

    16 NİSAN 2011
  • KarnasCamillo

    KarnasCamill

    24 EKİM 2007
  • RyanXLT

    RyanXLT

    22 Ocak 2011