在
python中是否可以直接在三元语句中引发错误?
如:
import numpy as np
y = np.random.rand(200, 5, 5)
y = (y[:, None] if y.ndim == 1
else y if y.ndim == 2
else raise ValueError('`y` must be given as a 1D or 2D array.'))
当然可以使用简单的if / elif / else语句来完成此操作.因此,我要求使用“一行”三元语句专门提出解决方案.
只是为了澄清:
我知道三元语句并不是为了引发错误而且根据PEP8等不是好的风格.我只是想问它是否可能.
最佳答案 简单的简单技术答案:不,这是不可能的 – 正如您可能自己发现的那样,它会产生一个SyntaxtError(raise是一个语句而三元op只支持表达式).