python - 有没有有效的方法来通过适当的通知来验证许多变量?

标签 python

这是我的代码:

if self.a == "":
    raise MyException("The required parameter 'a' is empty")
if self.b == "":
    raise MyException("The required parameter 'b' is empty")
if self.v == "":
    raise MyException("The required parameter 'v' is empty")
if self.g == "":
    raise MyException("The required parameter 'g' is empty")
if self.quality == "":
    raise MyException("The required parameter 'quality' is empty")
if self.abc == "":
    raise MyException("The required parameter 'abc' is empty")

似乎重复的模式太多了。问题是我找不到使它更简单和紧凑的方法。

有什么想法吗?

最佳答案

假设您仍想验证所有参数,这是一个使用 getattr 的解决方案如上所述:

for attribute in ["a", "b", ...]:
    if getattr(self, attribute) == "":
        raise MyException(f"The required parameter '{attribute}' is empty")

关于python - 有没有有效的方法来通过适当的通知来验证许多变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54886885/

相关文章:

python - 如何在不迭代的情况下产生第 i 个组合/排列

python - 搜索 Python 轻量级 IDE(或文本编辑器)

python - Django:在 JSONField 上使用 F() 表达式?

python - HtmlParser.entityref 实际上是匹配 html 实体引用的有效正则表达式吗?

python - 在 Python 中对连续日期进行分组

Python:如何将巨大的文本文件读入内存

python - 使用 Python 从字符串中提取值

python - 从 Python 中的句子集中删除最常见单词的停用词

python - 如何在 python 中访问 --variablefile 参数

python - 如何在抽象模型的 ManyToMany 字段中设置 related_name?