Как перечислить возможные значения для аргумента внутри функции, используя PyCharm? - PullRequest
1 голос
/ 22 марта 2020

Есть ли способ перечислить возможные значения аргумента, когда я вызываю функцию в редакторе или консоли PyCharm?

Вот базовый c пример функции:

def func(x='foo'):

    if x=='foo':
       print('foo')
    if x=='bar':
       print('bar')

Когда я введите func(x=, я хочу получить предложения по параметру или хотя бы к значению по умолчанию.


РЕДАКТИРОВАТЬ 1 : Как настроить автоматическое заполнение печати при использовании определенной функции?


РЕДАКТИРОВАТЬ 2 : как мне повторить это поведение из Keras LSTM?

Keras example function

1 Ответ

1 голос
/ 22 марта 2020

Модифицированный пример, который вы предоставили:

def func(x='foo'):
    """My awesome function.

    This function receives parameter `x` which 
    can be set to 'foo' or 'bar'.
    """

    if x=='foo':
       print('foo')
    if x=='bar':
       print('bar')

Чтобы получить информацию о параметре, используйте Ctrl + P между скобками при вызове функции. Он будет отображать список аргументов вместе со значениями по умолчанию для указанного аргумента c ( оба значения по умолчанию установлены в вашей функции и в функции Keras ).

Однако для отображения функции справка ( строка документации функции ), используйте Ctrl + Q , когда находитесь внутри имени функции при ее вызове.

БОНУС :

Python поддерживает аннотации типов с использованием набора . Вы можете создать перечисление и установить его в качестве типа параметра следующим образом:

import enum


class State(enum.Enum): # Possible values
    STANDING = 1
    SITTING = 2
    LAYING = 3


def get_person_state(state: State):
    if isinstance(state, State):  # Restrict possible values passed to state.
        print("Valid state:{}".format(state))
    else:
        print("Invalid state passed")

get_person_state(State.SITTING)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...