在python中引发三元语句中的错误,而不使用经典的ifelse语法

在python中引发三元语句中的错误,而不使用经典的ifelse语法,第1张

概述在 python中是否可以直接在三元语句引发错误? 如: import numpy as npy = 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 ar 在 python中是否可以直接在三元语句中引发错误?

如:

import numpy as npy = 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只支持表达式). 总结

以上是内存溢出为你收集整理的在python中引发三元语句中的错误,而不使用经典的if / else语法全部内容,希望文章能够帮你解决在python中引发三元语句中的错误,而不使用经典的if / else语法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1192235.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存