Как показать подсказки в IDLE? - PullRequest
0 голосов
/ 04 декабря 2018

При написании кода в IDLE, иногда, когда я вставляю функцию, подобную re.sub( в примере, всплывает окно, объясняющее функцию и вводимые ей данные.Я нахожу это очень полезным и хотел бы, чтобы это окно появлялось каждый раз.Я гуглил и пробовал разные комбинации клавиш, но не вижу, как вы это делаете.

Может ли кто-нибудь помочь мне с этим?

enter image description here

Ответы [ 2 ]

0 голосов
/ 06 декабря 2018

В подсказках IDLE содержится подпись функции (если она доступна напрямую), за которой следует начало строки документации (если она есть).Для тех, кто не прошел курс лечения в «Аргумент Клиник», подпись является началом строки документации.Это касается reduce.В 3.6 и 3.7, когда я набираю reduce( после импорта и подсказки, подсказка содержит подпись, указанную в строке документации.Чтобы просмотреть всю строку документации redu (), используйте >>> help(reduce) или введите reduce.__doc__.

Чтобы увидеть больше подсказок при редактировании в редакторе, запустите свой код после ввода операторов импорта.Например, если вы запустите IDLE и немедленно отредактируете новый файл и введете

import reduce
reduce(

, вы не увидите подсказки, как вы описали в своем вопросе.Но если вы нажмете F5 после импорта и вернетесь в редактор, вы это сделаете.Точно так же, если вы хотите видеть подсказки для своих собственных функций, время от времени запускайте файл после их определения.

0 голосов
/ 04 декабря 2018

Ваш вопрос относится к Python IDLE.В IDLE эта функция включена по умолчанию.Чтобы это работало, функция (или метод) должна быть доступна в текущем пространстве имен. Это означает, что она должна быть определена в рабочей среде или импортирована в рабочую среду.

Например:

>>> def foo(x)
        """the foo function"""
        return x

когда вы наберете >>> foo( в приглашении после определения, вы увидите объяснение, которое действительно является документацией, содержащейся в строке документации (материал междутройные кавычки).

Если у функции или метода нет документации, вы не увидите никаких объяснений.Например,

>>> def bar(y):
        return y

В этом случае, когда вы вводите bar( в приглашении, IDLE просто покажет y, это потому, что функция не имеет никакой документации.

Некоторые встроенные функции (называемые builtins) не имеют строк документации, часто это происходит потому, что они реализованы на языке программирования Си.Например,

>>> from functools import reduce
>>> reduce(

В этом случае IDLE не будет давать никаких подсказок, потому что у функции нет какой-либо строки документации для отображения.

Отличным компаньоном для обучения является pythonстандартное обозначение .Вы можете найти в встроенных определениях функций четкие объяснения того, что они делают.С другой стороны, при написании своих собственных функций не забывайте помещать строки документов, поскольку они помогут вам в дальнейшем.

...