(编码以获取)Python代码完成,从允许的字符串列表中进行选择
假设一个简单的函数:(编码以获取)Python代码完成,从允许的字符串列表中进行选择,python,code-completion,Python,Code Completion,假设一个简单的函数: def example(formula="") ... 其中,参数公式应为2400个可能的化学公式之一。 从2400个字符串的列表中选择一个字符串,是否有一种方法可以完成代码 第一个想法是从类属性列表中选择。 但是,我不能使用dir方法。 这些公式字符串通常不能用作属性名称 我没有看到另一种方法可以列出一个选项而不使用某个属性 谢谢您正在尝试从字符串列表中获取随机字符串吗 from random import choice formulas = ['f1',
def example(formula="")
...
其中,参数公式应为2400个可能的化学公式之一。
从2400个字符串的列表中选择一个字符串,是否有一种方法可以完成代码
第一个想法是从类属性列表中选择。
但是,我不能使用dir方法。
这些公式字符串通常不能用作属性名称
我没有看到另一种方法可以列出一个选项而不使用某个属性
谢谢您正在尝试从字符串列表中获取随机字符串吗
from random import choice
formulas = ['f1', 'f2']
formula = choice(formulas)
example(formula = formula)
如果不是,那么简单地索引公式[int]就可以了 使用枚举,例如PyCharm实例代码就很好地完成了枚举,特别是在使用类型暗示的情况下
import enum
class ChemFormula(enum.Enum):
Chlorine = "cl2"
Hydrogen = "h2"
Water = "h2o"
def example(formula: ChemFormula) -> None:
....
代码完成是编辑器或编码环境的一项功能。你能指定你用的是哪一个吗?我的目标是Jupyter,但我也用PyCharm。我想两者都是从看方向开始的。对不起,我的问题不清楚。我会很高兴完成参数代码。但我也会很满意类属性代码的完成。这就解释了我对"迪尔"的评论。我不知道选择参数可能值的类似方法。枚举不需要逗号。事实上,他们会将值转换为元组,这对于这样一个简单的解决方案来说是不必要的。我在Jupyter的一个简单示例上测试了它,这将非常有用。我只是不认为需要enum.enum,因为它在Jupyter中也可以不使用。只有一个缺点:我需要为数据库中的2400个公式自动创建有效属性,这一点并不明显。我已经修复了逗号。我不需要随机选择。我需要这些东西来完成我的案子。我不明白你的建议。是的,我想,你似乎找到了答案: