zoukankan      html  css  js  c++  java
  • python 学习之运算符

    一 运算符

    算数运算:

    比较运算:

    赋值运算:

    逻辑运算:

    成员运算:

     

    身份运算: 面向对象讲解

    运算符

    名称

    说明

    例子

    +

    两个对象相加

    3 + 5得到8。'a' + 'b'得到'ab'。

    -

    得到负数或是一个数减去另一个数

    -5.2得到一个负数。50 - 24得到26。

    *

    两个数相乘或是返回一个被重复若干次的字符串

    2 * 3得到6。'la' * 3得到'lalala'。

    **

    返回x的y次幂

    3 ** 4得到81(即3 * 3 * 3 * 3)

    /

    x除以y

    4/3得到1(整数的除法得到整数结果)。4.0/3或4/3.0得到1.3333333333333333

    //

    取整除

    返回商的整数部分

    4 // 3.0得到1.0

    %

    取模

    返回除法的余数

    8%3得到2。-25.5%2.25得到1.5

    <<

    左移

    把一个数的比特向左移一定数目(每个数在内存中都表示为比特或二进制数字,即0和1)

    2 << 2得到8。——2按比特表示为10

    >>

    右移

    把一个数的比特向右移一定数目

    11 >> 1得到5。——11按比特表示为1011,向右移动1比特后得到101,即十进制的5。

    &

    按位与

    数的按位与

    5 & 3得到1。

    |

    按位或

    数的按位或

    5 | 3得到7。

    ^

    按位异或

    数的按位异或

    5 ^ 3得到6

    ~

    按位翻转

    x的按位翻转是-(x+1)

    ~5得到-6。

    <

    小于

    返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。

    5 < 3返回0(即False)而3 < 5返回1(即True)。比较可以被任意连接:3 < 5 < 7返回True。

    >

    大于

    返回x是否大于y

    5 > 3返回True。如果两个操作数都是数字,它们首先被转换为一个共同的类型。否则,它总是返回False。

    <=

    小于等于

    返回x是否小于等于y

    x = 3; y = 6; x <= y返回True。

    >=

    大于等于

    返回x是否大于等于y

    x = 4; y = 3; x >= y返回True。

    ==

    等于

    比较对象是否相等

    x = 2; y = 2; x == y返回True。x = 'str'; y = 'stR'; x == y返回False。x = 'str'; y = 'str'; x == y返回True。

    !=

    不等于

    比较两个对象是否不相等

    x = 2; y = 3; x != y返回True。

    not

    布尔“非”

    如果x为True,返回False。如果x为False,它返回True。

    x = True; not x返回False。

    and

    布尔“与”

    如果x为False,x and y返回False,否则它返回y的计算值。

    x = False; y = True; x and y,由于x是False,返回False。在这里,Python不会计算y,因为它知道这个表达式的值肯定是False(因为x是False)。这个现象称为短路计算。

    or

    布尔“或”

    如果x是True,它返回True,否则它返回y的计算值。

    x = True; y = False; x or y返回True。短路计算在这里也适用。

    >>> 1 + 1
    2
    >>> 1 + 1 * 2
    3
    >>> (1 + 1 ) * 2       
    4
    >>> 0/32
    0
    >>> 32/0
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ZeroDivisionError: integer division or modulo by zero
    >>> 3*3
    9
    >>> 2**8
    256
    >>> 2**32
    4294967296
    >>> 2**64
    18446744073709551616L
    >>> 2**32/1024/1024
    4096
    >>> print "以上是32位系统的寻址空间"
    以上是32位系统的寻址空间
    >>> 2**64/1024/1024
    17592186044416L
    >>> print “虽然上面是64位系统的寻址空间,但是不一定就支持”
      File "<stdin>", line 1
        print “虽然上面是64位系统的寻址空间,但是不一定就支持”
              ^
    SyntaxError: invalid syntax
    >>> 2**42 /1024/1024
    4194304
    >>> 10%2
    0
    >>> 10%3
    1
    >>> print "作用是看一个数能不能被整成,过滤奇偶数"
    作用是看一个数能不能被整成,过滤奇偶数
    练习

    大于 小于 左移右移 按位与 按位或

    复制代码
    >>> 3>2
    True
    >>> 3<2
    False
    >>> 3>=2
    True
    >>> 3!=2
    True
    >>> print "数字变成2进制"
    数字变成2进制
    >>> 5<<2
    20
    >>> 5>>2
    1
    >>> 5 | 3
    7
    >>> 5 & 3
    1
    复制代码

    复制代码
    1 2 3 4  5  6  7  8
    1 2 4 8 16 32 64 128
    数组5转二进制 5=1+4
    1 0 1   所以是5就是00000101
    左移两位 5<<2
    0 0 1 0 1 所以5<<2结果是20 即4+16=20
    右移两位 5>>2
    1          所以结果是1
    按位与 5&3
    5的二进制 101  3的二进制是110
    1 0 1
    1 1 0
    得出结果 1 0 0 竖向看:1和1与是1,0和1与是0,1和0与是0,所以得出的结果是1
    按位或 5|3
    5的二进制 101  3的二进制是110
    1 0 1
    1 1 0
    得出结果 1 1 1 竖向看:1和1或是1,0和1或是1,1和0或是1,所以得出的结果是1+2+4=7
    复制代码
  • 相关阅读:
    主流浏览器默认限制的非安全端口号有哪些
    coco2dx实现翻拍效果
    iOS和android游戏纹理优化和内存优化(cocos2d-x)(转载)
    cocos2d-x如何解决图片显示模糊问题
    cocos2dx混合模式应用———制作新手引导高亮区域
    visual studio的项目属性表
    如何提高cocos2d-x-spine骨骼动画加载速度
    如何调试lua脚本
    把.pvr.ccz文件转换成png
    coco2dx加载网络图片并保存
  • 原文地址:https://www.cnblogs.com/superfangchao/p/8513083.html
Copyright © 2011-2022 走看看