测试/比较Python中运算符的优先级[关闭]

问题描述 投票:-1回答:1

def has_precedence(op1,op2):

opr = ["+", "-", "*", "/", "^"]
if op1 == opr[4]:
    return True
else:
    return False
if op1 == opr[3] & op2 != opr[4]:
    return True
else:
    return False
if op1 == opr[2] & op2 != opr[3] & op2 != opr[4]:
    return True
else:
    return False
if op1 == opr[0] & op2 == opr[1]:
    return True
else:
    return False
if op1 == opr[1]:
    return False
else:
    return True

print(has_precedence('/',"-"))

我想比较两个算术运算符并返回一个布尔值,但遗憾的是这个方法,我做的不起作用,我不知道为什么

python operator-keyword operator-precedence
1个回答
3
投票

Python运算符不是对象。它们是语法。你不能用变量引用它们,也不能在Python中比较它们。

你会读到operator precedence documentation。优先级由编译器修复,而不是语言的动态方面。

编程语言运算符优先级已基本标准化;例如,Python遵循PEMDAS order

© www.soinside.com 2019 - 2024. All rights reserved.