【发布时间】:2020-11-21 05:39:16
【问题描述】:
我有以下 python 代码:
foo.create("TireModelA")
该函数将字符串作为输入。只有 3 个选项:“TireModelA”、“TireModelB”、“TireModelC”。
如何在 python 中输入提示?我希望当用户开始写作时,它会建议可能的完成。
谢谢。
【问题讨论】:
标签: python python-typing
我有以下 python 代码:
foo.create("TireModelA")
该函数将字符串作为输入。只有 3 个选项:“TireModelA”、“TireModelB”、“TireModelC”。
如何在 python 中输入提示?我希望当用户开始写作时,它会建议可能的完成。
谢谢。
【问题讨论】:
标签: python python-typing
你至少有两种可能Literal和Enum:
from typing import Literal
from enum import Enum
class FooParamsEnum(str, Enum):
tire_model_a = "TireModelA"
tire_model_b = "TireModelB"
tire_model_c = "TireModelC"
FooParamsLiterals = Literal["TireModelA", "TireModelB", "TireModelC"]
class Foo1:
def create(self, param: FooParamsLiterals) -> FooParamsLiterals:
return param
class Foo2:
def create(self, param: FooParamsEnum) -> FooParamsEnum:
return param
foo1 = Foo1()
foo1.create("TireModelA")
foo2 = Foo2()
foo2.create(FooParamsEnum.tire_model_a)
【讨论】: