这是我的代码:
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")
Run Code Online (Sandbox Code Playgroud)
这似乎是太多的重复模式.问题是我无法找到一种方法使其更简单和紧凑.
有任何想法吗?
假设你仍想验证所有参数,这里有一个使用getattr上面建议的解决方案:
for attribute in ["a", "b", ...]:
if getattr(self, attribute) == "":
raise MyException(f"The required parameter '{attribute}' is empty")
Run Code Online (Sandbox Code Playgroud)