我希望很清楚我想用这个函数做什么:
def this_one_operator(math_operator, num1, num2):
return num1 * num2 if operator == "*" \
or num1 / num2 if operator == "/" \
or num1 + num2 if operator == "+" \
or num1 - num2 if operator == "-"
显然,它不起作用(SyntaxError:语法无效)。
对不起,如果我重复这个问题。我尽力在这里找到如何处理这个问题。另外,如果问题不准确,我很感激如何编辑问题的任何建议。
谢谢。
最佳答案
Python 有一个 value if condition else default
ternary operation,你可以为这个结果叠加。但是,它不是很紧凑,做您想做的事情也不是很 pythonic。
相反,您可以尝试:
import operator
def binary_op(op, lopd, ropd):
return { '/' : operator.floordiv,
'*' : operator.mul,
'+' : operator.add,
'-' : operator.sub,
'%' : operator.mod }[op](lopd, ropd)
关于python - 在 Python 中是否可以在 RETURN 语句之后制作一个包含多个 IF 和 OR 的单行代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42309810/