1. 运算符
+ 对象相加 3+5 得到8, 'a' + 'b' 得到ab 字符串相加也是用+号
* 两数相乘或者返回某个字符串的若干次重复 3*4 得到12, "la"*3 得到lalala
** 幂 3**4 得到81(3*3*3*3)
/ 除 4/3得到1(整数的除法得到整数结果)。4.0/3或4/3.0得到1.3333333333333333
// 取整除(返回商的整数部分) 4 // 3.0得到1.0
% 取余 8%3得到2
<< 左移 2<<2 [2的2进制是10,左移2位就是1000,得到的就是8]
>> 右移 11>>1 [11的2进制是1011,右移一位就是101,得到的就是5]
and 与 x = False; y = True; x and y,由于x是False,返回False。这里,Python不会计算y,因为它知道这个表达式的值肯定是False(因为x是False)。这个现象称为短路计算。
or 或 x = True; y = False; x or y返回True。短路计算在这里也适用。
2. 运算符优先级
如果不清楚优先级,直接用(),免得混淆
结合规律:
运算符通常由左向右结合,即具有相同优先级的运算符按照从左向右的顺序计算。例如,2 + 3 + 4
被计算成(2 + 3) + 4
。
但一些如赋值运算符那样的运算符是由右向左结合的,即a = b = c
被处理为a = (b = c)
。