首页 > 编程知识 正文

Python算术运算符的优先级顺序

时间:2023-11-21 13:41:52 阅读:289475 作者:VPVY

Python算术运算符是进行数学计算的基础,但在进行数字运算时要注意运算符的优先级顺序,以避免出错。本文将从不同角度介绍Python算术运算符的优先级顺序以及对应的用法。

一、基础运算符的优先级顺序

首先,我们需要了解基础运算符的优先级顺序,即“括号 > 指数 > 乘、除、取整 > 加、减”。具体的用法如下:


#括号
a = 2 * (3 + 4) 
print(a) #输出14

#指数
b = 2 ** 3 * 4
print(b) #输出32

#乘、除、取整
c = 5 * 4 / 2 // 3
print(c) #输出3.0

#加、减
d = 2 + 3 - 4
print(d) #输出1

需要注意的是,同级运算符按照从左到右的顺序进行计算,如上述例子中,“乘、除、取整”是同级运算符,因此先计算了5 * 4,再计算除法和取整。

二、混合运算符的优先级顺序

在实际开发中,我们更经常使用混合运算符,即含有基础运算符和其他运算符的表达式。对于混合运算符,需要按照以下规则进行计算:

1、先计算括号内的表达式。

2、按照基础运算符的优先级顺序计算其他运算符。

3、如果优先级相同,则按照从左到右的顺序进行计算。例如,下面的例子:


e = 20 - 6 // 3 ** 2 + 4 * 8
print(e) #输出42

按照以上规则,我们可以将表达式拆分为以下几个部分:

1、6 // 3 ** 2 = 6 // 9 = 0。优先级为括号、指数、乘、除、取整,因此先计算指数运算,然后再计算取整。

2、20 - 0 + 4 * 8 = 20 - 0 + 32 = 52。加减法和乘除法优先级相同,按照从左到右的顺序进行计算。

因此,上述例子的结果为42。

三、运算符重载

Python中的运算符可以被重载,即可以在自定义的类中重载运算符,以实现自定义的运算。例如:


class Person:
    def __init__(self, age):
        self.age = age
    
    def __add__(self, other):
        return self.age + other.age
        
p1 = Person(20)
p2 = Person(30)
print(p1 + p2) #输出50

在上述例子中,我们重载了“+”运算符,实现了两个Person对象年龄相加的功能。

四、总结

以上是Python算术运算符的优先级顺序以及对应的用法。在进行混合运算时,需要按照规则先计算括号内的表达式,然后按照优先级顺序计算其他运算符;另外,运算符可以被重载,在自定义的类中可以实现自定义的运算。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。