算术运算符
运算符 |
描述 |
+ |
加 |
- |
减 |
* |
乘 |
/ |
除 |
// |
取整除。返回商的整数部分。地板除。 |
% |
取模,返回除法的余数 |
** |
幂运算。 |
例如:
1
2
3
4
5
6
7
8
9
10
|
x = 9
y = 2
print ("x + y的值:", x + y)
print ("x - y的值:", x - y)
print ("x * y的值:", x * y)
print ("x / y的值:", x / y)
print ("x // y的值:", x // y)
print ("x % y的值:", x % y)
print ("x ** y的值:", x ** y)
|
执行以上程序会输出如下结果:
1
2
3
4
5
6
7
|
x + y的值: 11
x - y的值: 7
x * y的值: 18
x / y的值: 4.5
x // y的值: 4
x % y的值: 1
x ** y的值: 81
|
注意: /结果是浮点型,//结果是整型。如果除数或被除数是浮点型,//结果也是浮点型。
例如:
1
2
3
4
5
6
7
8
9
10
11
12
|
x = 9
y = 2
z = 4.5
print ("x / y的值类型:",type(x / y))
print ("x / y的值:", x / y)
print ("x // y的值类型:",type(x // y))
print ("x // y的值:", x // y)
print ("x / z的值类型:",type(x / z))
print ("x / z的值:", x / z)
print ("x // z的值类型:",type(x // z))
print ("x // z的值:", x // z)
|
执行以上程序会输出如下结果:
1
2
3
4
5
6
7
8
|
x / y的值类型: <class 'float'>
x / y的值: 4.5
x // y的值类型: <class 'int'>
x // y的值: 4
x / z的值类型: <class 'float'>
x / z的值: 2.0
x // z的值类型: <class 'float'>
x // z的值: 2.0
|
优先级
由高到低排列 |
描述 |
** |
- |
% // / * |
相同优先级 |
+ - |
相同优先级 |
例如:
1
2
3
4
|
x = 11
y = 3
z = 2
result = x%y**z #**优先级高,先计算y**z,结果再和x求模。相当于x%(y**z)。结果是2
|
1
2
3
4
|
x = 11
y = 3
z = 2
result = x%y**z #**优先级高,先计算y**z,结果再和x求模。结果是2
|
加括号可以改变优先级。括号内的优先级最高。
Python不支持C语言中的自增1和自减1运算符, 这是因为 + 和 - 也是单目运算符, Python 会将 –n 解释为-(-n) 从而得到 n , 同样 ++n 的结果也是 n.
比较运算符
Python共有8个比较运算符,具有相同的优先级。
运算符|描述
—|:–
==|等于
!=|不等于
>|大于
<|小于
>=|大于等于
<=|小于等于
is|判断两个标识符是不是引用自一个对象,比较的是ID。
is not|判断两个标识符是不是引用自不同对象,比较的是ID。
所有比较运算符返回1表示真,返回0表示假。这分别与特殊的常量True和False等价。
例如:
1
2
3
4
5
6
7
8
9
10
|
x = 11
y = 3
print("x==y的值:",x==y)
print("x!=y的值:",x!=y)
print("x>y的值:",x>y)
print("x<y的值:",x<y)
print("x>=y的值:",x>=y)
print("x<=y的值:",x<=y)
print("x is y的值:",x is y)
print("x is not y的值:",x is not y)
|
执行以上程序会输出如下结果:
1
2
3
4
5
6
7
8
|
x==y的值: False
x!=y的值: True
x>y的值: True
x<y的值: False
x>=y的值: True
x<=y的值: False
x is y的值: False
x is not y的值: True
|
比较运算符链接写法
两个以上的比较运算符可以链接起来。
例如 x < y and y <= z
可以链接为 x < y <= z
。
链接写法中的y只被计算一次,提高了效率。如果 x < y 结果是False的话,将不计算z,直接返回结果。
例如:
1
2
3
4
5
6
7
|
x = 11
y = 22
z = 33
print("x < y and y <= z的值:",x < y and y <= z)
print("x < y <= z的值:",x < y <= z)
print("x > y and y <= z的值:",x > y and y <= z)
print("x > y <= z的值:",x > y <= z)
|
执行以上程序会输出如下结果:
1
2
3
4
|
x < y and y <= z的值: True
x < y <= z的值: True
x > y and y <= z的值: False
x > y <= z的值: False
|
转载请注明本网址。