我想做这样的:
>>> myfunc("strawberry")
ok
# myfunc only works with strawberry
我知道大多数人都会回答:
def myfunc(something):
if something == "strawberry":
print("ok")
但是我想在参数设置中完成这一切
就像,有点像这样:
def myfunc(something: OnlyThese["strawberry", "cake"]:
print("ok")
虽然上面的代码很不正确,但我想看看Python是否已经有这样的功能了。
一个选项是使用
assert
:
def myfunc(something: str):
assert something in ["strawberry", "cake"]
print("ok")
如果
someting
参数是“草莓”或“蛋糕”以外的值,则会抛出ValueError。