python - 在 python 三元运算符的上下文中引发错误
问题描述
因此,假设我已经定义了所有必要的变量,并且我想在一行中分配一个带有条件的变量时抛出一个错误:
isTestData,isTrainingData,testData,trainingData=True,False,str,int
def whoops():
raise
a = testData() if isTestData else TrainingData() if isTrainingData else whoops()
我想知道是否有一些我没有得到的带有 raise 的内置函数或语法......是否有必要用一个衬垫来定义这种行为?
解决方案
python中三元运算符(单行)的基本语法是:
<expr1> if <conditional_expr> else <expr2>
这要求包含在其中的所有实体<>
都是一个表达式。
笔记:
- 表达式只能包含标识符、运算符和文字。
- 语句是可以生成一行/多行 Python 代码的所有内容。
- 重要的是要注意所有表达式都是语句,反之亦然。
在您的情况下,您不能raise
直接在三元运算符(一个衬里)中使用, 因为它会发表声明。
推荐阅读
- python - numpy快速傅里叶变换的数组正确排序
- java - 如何在 jpa 查询中加入具有多对多关系的两个实体
- css - CSS3 动画在 Firefox 中效果不佳(过渡不流畅)
- php - 在我的 WordPress 自定义插件“函数名称必须是字符串”中,我正在使用 $get_the_author_meta()
- java - 获取当前处理块的先前块值 - 弹簧批处理
- javascript - 如何解析无序列表
- 是兄弟姐妹
- flutter - 如何在颤动中显示/隐藏密码?
- java - 为什么javers快照表序列乘以100
- pandas - AWS Athena 错误解释时间戳列
- python - 更改 SQLALCHEMY_DATABASE_URI 以使用端口 3307