speaklater es un módulo de Python que proporciona cadenas perezosas para traducciones. & Nbsp; Básicamente, te dan un objeto que parece ser una cadena, pero cambia el valor cada vez que el valor se evaluará con base en exigible que usted proporciona.
Por ejemplo, usted puede tener una función lazy_gettext global que devuelve una cadena perezoso con el valor de la lengua conjunto actual.
Ejemplo:
>>> From speaklater make_lazy_string importación
>>> Sval = u'Hello Mundial '
>>> Cadena = make_lazy_string (lambda: sval)
Esta cadena perezoso se evaluará como el valor de la variable sval.
>>> Cadena
lu'Hello Mundial '
>>> Unicode (cadena)
u'Hello Mundial '
>>> String.upper ()
u'HELLO MUNDO '
Si cambia el valor, la cadena perezoso cambiará así:
>>> Sval = u'Hallo Welt '
>>> String.upper ()
u'HALLO Welt "
Esto es especialmente útil cuando se combina con un hilo local y traducciones o dicts de cadenas traducibles gettext:
>>> From speaklater make_lazy_gettext importación
>>> From threading importación locales
>>> L = local ()
>>> l.translations = {u'Yes ':' Ja '}
>>> Lazy_gettext = make_lazy_gettext (lambda: l.translations.get)
>>> Sí = lazy_gettext (u'Yes ')
>>> Print sí
Ja
>>> L.translations [u'Yes '] = u'Si'
>>> Print sí
Si
Cuerdas Lazy hay condiciones reales así que si pasa este tipo de cadena a una función que realiza una comprobación de instancia, se producirá un error. En ese caso, usted tiene que convertir explícitamente con Unicode y / o cadena dependiendo de qué tipo de cadena la cadena perezoso encapsula.
Para comprobar si una cadena es perezoso, puede utilizar la función is_lazy_string:
>>> From speaklater is_lazy_string importación
>>> is_lazy_string (u'yes ')
Falso
>>> Is_lazy_string (sí)
Verdadero
Requisitos :
- Python
Comentarios que no se encuentran