/
valemobil
/
python-future
Обзор
Документация
Войти
/
valemobil
/
python-future
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
docs/custom_str_methods.rst
27 строк
812 B
Ed Schofield
Update docs
17 янв 2014, 15:25
17 янв 2014, 15:25
95e4222
Код
Авторство
О чём код?
.. _custom-str-methods: Custom __str__ methods ---------------------- If you define a custom ``__str__`` method for any of your classes, functions like ``print()`` expect ``__str__`` on Py2 to return a byte string, whereas on Py3 they expect a (unicode) string. Use the following decorator to map the ``__str__`` to ``__unicode__`` on Py2 and define ``__str__`` to encode it as utf-8:: from future.utils import python_2_unicode_compatible @python_2_unicode_compatible class MyClass(object): def __str__(self): return u'Unicode string: \u5b54\u5b50' a = MyClass() # This then prints the name of a Chinese philosopher: print(a) This decorator is identical to the decorator of the same name in :mod:`django.utils.encoding`. This decorator is a no-op on Python 3.