操作符
操作符是 Python 中在变量的值上执行操作的符号。
Python 支持多种类型的操作符,包括算术运算符(Arithmetic Operators)、比较(关系)运算符(Comparison(Relational) Operators)、逻辑运算符(Logical Operators)、赋值操作符(Assignment Operators)、位操作符(Bitwise Operators)、恒等运算符(Identity Operators)、成员隶属操作符(Membership Operators),以及表达式等等。下面一一介绍。
算术运算符
用来执行诸如加、减、乘和除等等之类的算术运算,列举如下:
- 加 (Addition)
+
- 减 (Subtraction)
-
- 乘 (Multiplication)
*
- 除 (Division)
/
- 取余 (Modulus)
%
- 指数 (Exponentiation)
**
- 向下取整除 (Floor Division)
//
例子
a = 10
b = 3
print("加:", a + b) #加:13
print("减: ", a - b) #减:7
print("乘:", a * b) #乘:30
print("除:", a / b) #除:3.3333333333333335
print("取余:", a % b) #取余:1
print("指数:", a ** b) #指数:1000
print("向下取整除:", a // b) #向下取整除:3
复杂的取余运算
对于取余运算,当除数和被除数(现在小学课本里不区别“除”和“除以”了,我不知道是不是有人已经不能理解“除数”和“被除数”了)都是正数时,很容易就能算出来结果。但是,除数和被除数都有可能是负数。如果除数和被除数有一个或两个是负数,情况就会变得复杂一些。比如,在 C/C++
(C99 及以后,C++11及以后) 里,设除数是 n
,被除数是 m
,那么 m % n
的值满足公式:
(m / n) * n + m % n == m
(被除数 / 除数) * 除数 + 余数 = 被除数
言外之意就是,如果 m % n
不是 0
,那么它的符号和 m
相同。也就是说:
(-m) / n
和m / (-n)
的值和-(m / n)
相等;m % (-n)
和m % n
相等;(-m) % n
和-(m % n)
相等。
看以下的代码运算结果,这段代码可以用 gcc
、 clang
和 vc++
编译:
#include <stdio.h>
int