Python 如何使用PyCharm列出函数中参数的可能值?

Python 如何使用PyCharm列出函数中参数的可能值?,python,autocomplete,pycharm,Python,Autocomplete,Pycharm,在PyCharm编辑器或控制台中调用函数时,是否有任何方法列出参数的可能值 下面是一个基本函数示例: def func(x='foo'): if x=='foo': print('foo') if x=='bar': print('bar') 当我键入func(x=)时,我希望获得参数或至少默认值的建议 编辑1:如何使用特定功能进行自动完成打印 编辑2:如何从Keras LSTM复制此行为 修改了您提供的示例: def func(x='foo'

在PyCharm编辑器或控制台中调用函数时,是否有任何方法列出参数的可能值

下面是一个基本函数示例:

def func(x='foo'):

    if x=='foo':
       print('foo')
    if x=='bar':
       print('bar')
当我键入
func(x=
)时,我希望获得参数或至少默认值的建议


编辑1:如何使用特定功能进行自动完成打印


编辑2:如何从
Keras LSTM
复制此行为


修改了您提供的示例:

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快捷键。它将显示参数列表,以及特定参数的默认值(默认值都在函数和Keras函数中设置)

但是,要显示函数帮助(函数的docstring),请在调用函数名时在函数名内的任意位置使用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)

自动建议通常不建议值。它建议名称。@KlausD。请查看编辑。谢谢你的奖励。但是,你能告诉我枚举模块的意义吗?我问这个问题是因为我已经实现了我想要的,没有它。只需在不从枚举继承的情况下创建“类状态”,你就完全可以了。那么,为什么不呢嘿,成功了吗?在和已经有了关于这个问题的完美答案。第一个问题中的第一个答案给出了几乎所有关于枚举的不同之处以及何时使用它们的解释。我将尝试更新我的答案,以便更容易理解。