From e25bdba3a3a53b09be5269d8b065c13b73ab55c3 Mon Sep 17 00:00:00 2001 From: yum Date: Sun, 1 Jan 2023 21:05:27 -0800 Subject: Embed git in package package.ps1 fetches PortableGit and embeds it in the package. This eliminates all but one runtime dependency (MSVC++ Redistributable). * Move Python into a new FOSS folder. --- .../future-0.18.2/docs/custom_str_methods.rst | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 FOSS/Python/Dependencies/future-0.18.2/docs/custom_str_methods.rst (limited to 'FOSS/Python/Dependencies/future-0.18.2/docs/custom_str_methods.rst') diff --git a/FOSS/Python/Dependencies/future-0.18.2/docs/custom_str_methods.rst b/FOSS/Python/Dependencies/future-0.18.2/docs/custom_str_methods.rst new file mode 100644 index 0000000..12c3c6b --- /dev/null +++ b/FOSS/Python/Dependencies/future-0.18.2/docs/custom_str_methods.rst @@ -0,0 +1,27 @@ +.. _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. -- cgit v1.2.3