• Python 基础入门 3 运算符与表达式


    # 运算符分算术运算符,赋值运算符,复合运算符,逻辑运算符,位运算符

    # 算术运算用于Number数据类型的运算,部分算术运算符可用于String数据类型
    # 算术运算符:+(加),-(减),*(乘),/(除),%(求余),**(求幂) 相当于pow()函数,//(取整)
    # print(5+2 , 5-2 , 5*2 , 5/2 ,5%2 , 5**2 , 5//2)
    # print("a"*2+"abc"*4)

    #赋值运算符用于给变量赋值,赋值运算符:=
    # Num1 = 1
    # print(Num1)

    #复合运算符:+=,-=,*=,/=,%=,**=,//=
    #复合运算相当于算术运算后赋值给变量 即:a += 1 相当于 a = a+1
    # Num2=Num3=Num4=Num5=Num6=Num7=Num1
    # Num1 += 1
    # Num2 -= 1
    # Num3 *= 2
    # Num4 /= 0.2
    # Num5 %= 2
    # Num6 **= 0
    # Num7 //= 2
    # print(Num1 , Num2 ,Num3 ,Num4 ,Num5 ,Num6 , Num7)

    #逻辑运算符:<,>,<=,>=,==,!=(不等于),and(与),or(或),not(非)
    #逻辑运算用于运算事的真与假. 假的值有 0,0.0,False,none,空,其余则为真
    print(int(0>1)and int(0<1))
    print(0>1or 0<1)
    print(not 0)

    #成员运算符: in ,not in
    #用于判断序列(string数据类型也是序列的一种)中是否有对应的值

    #身份运算符: is , is not
    #用于判断变量是否引用同一个对象
    Str1, Str2 ="string","strint"
    print(Str1 is Str2)

    #位运算符是按位运算符是把数字看做二进制进行计算,当运算完后是新的补码,并不是原码
    # 位运算符:&(与) ,|(或),^(异或),~(取反)
    # &位运算符计算,在相应的位数上都为1,则该位的结果为1,否则为0
    # print(-5 & 7)
    """
    -5的二进制 1000 0101
    -5的补码 1111 1011
    7的二进制 0000 0111
    -------------------------
    -5 & 7 = 0000 0011(二进制)= 3(十进制)
    """
    # |位运算符计算,在相应的位数上只要有1,则该位为1,否则为0
    # print( -6 | 4)
    """
    6的二进制 0000 0110
    -6的二进制 1000 0110
    -6的反码 1111 1010
    4的二进制 0000 0100
    ------------------------
    6 | 4 = 0000 0110(二进制) = 6(十进制)
    -6 | 4 = 1111 1110 (二进制补码) = 1000 0010(原码) = -2
    """
    # ^ 位运算符计算,在相对的位数上相异时,该位为1,否则为0
    # print(-7 ^ 2)
    """
    -7的二进制:1000 0111
    2的二进制:0000 0010
    -----------------------
    7 ^ 2 :1000 0101 = -5 (十进制)
    """

    # ~位运算符计算,对于二进制补码数据位取反
    # print(~7)
    """
    7的补码: 0000 0111
    ~7的补码: 1111 1000
    ~7的反码: 1111 0111
    ~7的原码: 1000 1000 = -8 (十进制)
    """

    # << 位运算符号:各二进制全部左移动若干位,有《右边的数字(数字只能是正整数)决定,
    # 高位丢弃(这里的高位不代表符号,代表的是值),低位补0
    # print(-1 << 8)
    """
    -1 二进制 :1000 0001
    左移动8位 :1001 0000 0000 = -2的8次方(十进制)
    """

    # >> 位运算符:各二进制全部右移动,由>>右边的数字(正整数)决定,
    # 计算方式和<<位运算符一致
    # print(-256 >> 8)
    """
    -256 二进制 :1001 0000 0000
    右移动8位 :1000 0001
    """







  • 相关阅读:
    【美菜网】PostgreSQL与MySQL比较
    MySQL数据库MyISAM和InnoDB存储引擎的比较
    【美菜网】in和exist区别
    【美菜网】on、where以及having的区别
    hive 行列转换
    postgresql 发生锁表时的解锁操作
    postgre 中获取某个字段最小的另一个字段的记录
    关于带分区hive表添加字段如何避免插入的新字段数据为null
    git使用入门
    怎么绕过前端的判断提交
  • 原文地址:https://www.cnblogs.com/hjlin/p/10628402.html
Copyright © 2020-2023  润新知