speaklater adalah modul Python yang menyediakan string malas untuk terjemahan & nbsp;. Pada dasarnya Anda mendapatkan sebuah benda yang tampaknya menjadi string tetapi perubahan nilai setiap kali nilai dievaluasi berdasarkan pada callable Anda berikan.
Misalnya Anda bisa memiliki fungsi lazy_gettext global yang mengembalikan sebuah string malas dengan nilai bahasa set saat ini.
Contoh:
>>> Dari speaklater impor make_lazy_string
>>> Sval = u'Hello Dunia '
>>> String = make_lazy_string (lambda: sval)
String malas ini akan mengevaluasi nilai variabel sval.
>>> String
lu'Hello Dunia '
>>> Unicode (string)
u'Hello Dunia '
>>> String.upper ()
u'HELLO WORLD '
Jika Anda mengubah nilai, string malas akan berubah juga:
>>> Sval = u'Hallo Welt '
>>> String.upper ()
u'HALLO Welt '
Hal ini sangat berguna ketika dikombinasikan dengan benang lokal dan terjemahan gettext atau dicts string diterjemahkan:
>>> Dari speaklater impor make_lazy_gettext
>>> Dari threading impor lokal
>>> L = lokal ()
>>> L.translations = {u'Yes ':' Ja '}
>>> Lazy_gettext = make_lazy_gettext (lambda: l.translations.get)
>>> Ya = lazy_gettext (u'Yes ')
>>> Print ya
Ja
>>> L.translations [u'Yes '] = u'Si'
>>> Print ya
Si
String malas ada string nyata jadi jika Anda melewati semacam ini string ke fungsi yang melakukan sebuah contoh cek, itu akan gagal. Dalam hal ini Anda harus secara eksplisit mengubahnya dengan unicode dan / atau tali tergantung pada apa tali ketik string malas merangkum.
Untuk memeriksa apakah string malas, Anda dapat menggunakan fungsi is_lazy_string:
>>> Dari speaklater impor is_lazy_string
>>> Is_lazy_string (u'yes ')
Palsu
>>> Is_lazy_string (ya)
Benar
Persyaratan :
- Python
Komentar tidak ditemukan