MyEyes

Logging my life

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

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)

posted on 2011-10-20 14:08  MyEyes  阅读(385)  评论(0编辑  收藏  举报