Когда функция определена в Python, тройные кавычки представляют строку документации.
Но азиатские символы, используемые в строке документации, неправильно отображаются в IDLE для MacOS. Они отображаются в виде строки Unicode, например '\ uc778 \ uc0ac \ ud569 \ ub2c8 \ ub2e4'.
В Windows или Linux они отображаются правильно. Однако в оболочке терминала в MacOS строка документации, состоящая из азиатских символов, отображается правильно. Что за он **.
Думаю, в tcl / tk есть ошибка. Что мне делать, чтобы представить азиатские строки для документации? Я программирую на Python 3.6.3.
Спасибо всем.
как отобразить строку документации Unicode, вызвав help () в режиме ожидания
Ответы (1)
Посмотрим, можно ли использовать атрибут __doc__
.
>>> def func():
""" Return 인사합니다 """
pass
>>> func.__doc__
' Return 인사합니다 '
Изменить. Я пробовал help(func)
в Windows 10:
>>> help(func)
Help on function func in module __main__:
func()
Return \uc778\uc0ac\ud569\ub2c8\ub2e4
Я мог бы напечатать его прямо с префиксом escape-символа u
:
>>> print(u'\uc778\uc0ac\ud569\ub2c8\ub2e4')
인사합니다
Но у меня docstring
как в Linux:
>>> help(func)
Help on function func in module __main__:
func()
Return 인사합니다
person
srikavineehari
schedule
26.11.2017
Я получил правильное отображение строки для документа. У меня возникла проблема с отображением строки документации при вызове help () в MacOS IDLE. Я получил строку Unicode, например \ uxxxx, вместо азиатских символов.
- person albert; 27.11.2017
\unnnn') chars should either display or be represented by a substitute char. In any case, this is controlled by tk interacting with the OS. What tcl/tk are you using?
Help` = ›About IDLE
покажет вам. Если вы используете двоичный файл python.exe с python.org, вам следует использовать последнюю версию 8.5.x tcl / tk, доступную на ActiveState. См.https://www.python.org/download/mac/tcltk/
. - person Terry Jan Reedy   schedule 27.11.2017python.org/download/mac/tcltk
объясняет, что macOS будет связывать только python.exe, скомпилированный для 8.5, с 8.5. В Tcl / tk 8.6, по-видимому, есть несколько исправлений ошибок, особенно для maxOS, а Python 3.7.0 будет скомпилирован для использования (и требует) некоторых 8.6.x. Я не верю, что это правда для доступной на данный момент версии 3.7.0a2. - person Terry Jan Reedy   schedule 28.11.2017