如果我有一个字符串参数的python函数需要在一个特定的值列表中,那么处理这个问题的最佳方法是什么?是否存在在文档字符串或任何内容中表达此内容的约定?
例如.
def makeShape(shape):
assert shape in ["circle", "square", "triangle"]
Run Code Online (Sandbox Code Playgroud)
有没有更好的方式来表达形状应该始终是这三个值之一?
Blu*_*Ice 10
你可以使用一个enum正确的形状:
class rightShape(Enum):
circle = 1
square = 2
triangle = 3
def makeShape(rightShape):
# code in function
Run Code Online (Sandbox Code Playgroud)
如果你尝试传递函数除了a ,或之外circle,这将抛出一个诚实到善的错误.squaretriangle
如果这是一个真正的错误,您应该提出异常。我认为 TypeError 将是一个合理的选择,但您可能想定义自己的。
assert声明是为了发展。请注意,-O使用参数时它们会被忽略,因此不应依赖它们来捕获错误。
| 归档时间: |
|
| 查看次数: |
3523 次 |
| 最近记录: |