python - 你如何在 Python 类中为有价值的输入提出 ValueError?
问题描述
我想为 a 和 b 的负值引发一个值错误。我玩过这个,但它会针对不同的值引发 ValueError 并且它似乎无法正常工作。
class RightTriangle:
def __init__(self, a, b):
self.a = a
self.b = b
self.c = np.sqrt(a**2+b**2)
if (self.a or self.b) < 0:
raise ValueError("Negative")
解决方案
使固定:
if self.a < 0 or self.b < 0:
你得到的是(self.a or self.b)
首先评估。第一部分正在做的是:
if self.a: # anything but 0 is True
return self.a
else:
return self.b
因此,您可能会得到self.a
大部分时间,然后将在< 0
.
推荐阅读
- opencv - 如何将基于 Python 键的排序代码转换为基于 GO 键的排序代码
- javascript - D3如何从粘糊糊的效果中排除链接
- python - 不要在 Prefect 中重新运行以前的任务
- python - 根据值从一个熊猫数据框复制到另一个数据框
- reactjs - () => someFunc 和 someFunc 之间的区别
- django - 如何在保留原始(固有的)的同时添加新的类参数?
- python - 具有字典理解的数据过滤性能
- java - 在 Java 中读取特定的行格式文件
- sql - 从 s3 的 Athena 中的 2 个外部表更新 Athena 表
- php - 自举选择