流星

流星飞过的刹那,我....
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Python中有点特殊的运算符

Posted on 2009-02-19 14:14  泥土  阅读(527)  评论(0编辑  收藏  举报

在看python,有一些运算符需要标记或复习一下

运算符 名称 说明 例子
** 返回x的y次幂 3**2=9  ,3**4=81(即3*3*3*3)
// 取整除 返回商的证书部分 4//3.0得到1.0
另外还有:      
% 取模   8%3得到2
<< 左移   2<<2 得到8
>> 右移   11>>1得到5
% 按位与   5&3得到1
| 按位或   5 | 3得到7
^ 按位异或   5^3 得到6
~ 按位反转   ~5得到6

运算符的优先级:

运算符 描述
lambda Lambda表达式
or 布尔“或”
and 布尔“与”
not x 布尔“非”
in,not in 成员测试
is,is not 同一性测试
<,<=,>,>=,!=,== 比较
| 按位或
^ 按位异或
& 按位与
<<,>> 移位
+,- 加法与减法
*,/,% 乘法、除法与取余
+x,-x 正负号
~x 按位翻转
** 指数
x.attribute 属性参考
x[index] 下标
x[index:index] 寻址段
f(arguments...) 函数调用
(experession,...) 绑定或元组显示
[expression,...] 列表显示
{key:datum,...} 字典显示
'expression,...' 字符串转换

 

结合规律

运算符通常由左向右结合,即具有相同优先级的运算符按照从左向右的顺序计算。例如,2 + 3 + 4被计算成(2 + 3) + 4。一些如赋值运算符那样的运算符是由右向左结合的,即a = b = c被处理为a = (b = c)