Python 语言的数字(Digtial)与数学的数字是一致的,可以通过各种运算符实现各种计算。根据计算机语言处理要求,这里把数字分为整数(Integer)、浮点数(Float)、复数(Complex)、布尔(Boolean)。

2.3.1 算术运算符

  加(+)、减(-)、乘()、除(/)、取模(%)、幂(*)、取整除(//)

2.3.2 整数

  定义4:整数(Integer,简写Int)又称整型,由正整数、零和负整数构成,不包括小数、分数。

  在Python语言里整数的长度不受限制,仅受可用(虚拟)内存限制

  1.加、减、乘、除运算

    num1 = 10

    bum2 = 3

    count = num1 + num2

    print('加法和为:%d'%(cont))

    print('减法差为:%d'%(num1 - num2))

    print('乘法积为:%d'%(num1*num2))

    print('除法的商为:%d'%(num1\num2))

    result = (num1 - num2)*(num1 + num2)/7 - 3

    print('加减乘除混合运算:%d'%(result))

  2.取模、幂、取整除运算

    x = 5

    y = 3

    x % y

    x // y

    x ** y

2.3.3 浮点数

  定义5:浮点数(Float),对应于数学中的实数(Real)。在Python语言中,浮点数是带小数点的数字。

    20.0/3

    10*2 + 0.1

    1.1 + 0.96

    4.0/2.0

2.3.4 复数

  定义6:复数(Complex)由实数和虚数部组成,把实数扩到了虚数,其数学表示形式为a + bj (a、b均为实数)。a 称为实部,b 称为虚部,j(J)为虚数单位(j*2 = -1),bj称为虚数

    (1-2j)

    `(1-2j)
(1-3j)<br> &emsp;&emsp;&emsp;&emsp;(-4-7j)<br> &emsp;&emsp;&emsp;&emsp;(1-2j)<br> &emsp;&emsp;&emsp;&emsp;(1-2j).real<br> &emsp;&emsp;&emsp;&emsp;(1-2j).imag`

2.3.5 布尔

  定义7:布尔(Boolean)又称为逻辑。在Python语言中用True、False表示,用于逻辑判断。该数据是一种特殊的整数类,True可以用1代替,代表“真”;False 可以用0替换,代表“假”。

    and 与 只有and两侧的逻辑值为1时,其结果为1,其他情况为0

    or 或 如果or两侧至少有一个逻辑值为1时,其结果为1,其他情况为0

    not 非 not 0 得1, not 1 得 0

2.3.6 二进制

  定义8:二进制(Binary)数据是用0和1两个数字表示的数。它的基数为2,进位规则是“逢二进一”。在最新的Python中用0b开始表示二进制数。

    0b1110 输出十进制14

    十进制数字转换为二进制可用bin()函数

    二进制运算符:

      & 按位与运算符 (m&n),参与运算的m、n,如果对应位数都为1,则该位的结果为1,否则为0.

      | 按位异运算符 (m|n),参与运算的m、n,只要对应的二进制位有一个1,则结果为1;只有当对应位都为0时,结果才为0.

      ^ 按位异或运算符 (m^n),(m^n),参与运算的m、n,当对应的二进制位相异时,结果为1;相同时,结果为0.

      ~ 按位反转运算符 (n),将二进制数+1之后乘以-1,m的按位反转是-(m+1)

      << m<<n,把m的二进制全部左移x位,高位在超出操作系统支持位数时,丢弃,不超过时左移,低位补0.x为需要移动的数量

      >> m>>n,把m的二进制位全部右移x位,低位丢弃,高位补0.x为需要移动的数量。

        1.与运算(&)

          0b00110101&0b01100001

          33 # 输出十进制值33,对应的字符为“!”,其二进制为00100001

        2.或运算(|)

          0b00110101|0b01100001

          117 # 输出十进制值117,队医的字符为u,其二进制值为01110101

        3.异或运算(^)

          0b00110101^0b01100001

          84 # 输出十进制值84,对应的字符为T,其二进制值为01010100

        4.反转运算(


          ~0b0010101

          -54 # 输出十进制-54,其二进制位-00110110

        5.左移动运算(<<)

          0b00110101<<2

          212 # 输出十进制值为212,对应的字符为O,其二进制值为11010100

        6.右移动运算

          0b00110101>>2

          13 # 输出十进制值13,对应的字符为“\r”(按Enter键),其二进制为11010100

2.3.7 比较运算符

  == 等于 x==y,比较结果相等,返回True;否则返回False

  != 不等于 x!=Y,比较结果不相等,返回True;否则返回False

  > 大于 x>y,比较结果x大于y,返回True;否则返回False

  < 小于 x<y,比较结果x小于y,返回True;否则返回False

  >= 大于等于 x>=y,比较结果x>=y,返回True,否则返回False

  <= 小于等于 x<=y,比较结果x<=y,返回True,否则返回False

    1.整数比较

      1.等于比较(==)

        age1 , age2 , age3 = 10 , 9 , 0o12

        age1 == age3 # 十进制与八进制比较

        True

        age1 == age3

        False # age1 = 10 , age2 = 9 ,值不一样所以返回False

        False = True

        False # False 与 True 不一致,所以结果为False

        3 == 3.0

        True # 整数与浮点数比较

        5 - 2j == 5 + 2j

        False # 复数与复数的比较

        0b00110001 == 0b00110010

        False # 二进制值与二进制值比较

      从以上可以看出,整数里的任何数都可以相互比较,并产生布尔值。

      2.其他比较

        age1 , ahe2 , age3 = 10 , 9 , 0o12

        >>>age1 != age2

        True

        >>> age1 >= age2

        True

        >>> age1 <= age2

        False

        >>> age1 >= age2

        True

        >>> age1 < age2

        False

    2.字符串比较

      >>> ‘a’ == ‘b’ # 字符串a与b比较,其实比较的是ASCII码数字的大小

      False

      >>> ‘ab’ == ‘ab’ # 字符串ab 与 ab 比较

      True

      ’a’ == 1 # 字符串a 与整数1比较

      False

    3.优先级

      比较运算符优先级低于算术运算符、位运算符,高于逻辑运算符

      >>> 5 + 1 > 5 and True # 先计算5+1=6,然后6>5得True,最后True and True 运算

      True

      >>> (5+1)*2 > 5 and True # 小括号内最优计算,也就是可以用小括号改变运算次序

      True

2.3.8 赋值运算符

  = 简单赋值 Num = x + y

  += 加法赋值 x += y ,等于Num = x + y

  -= 减法赋值 x -= y ,等于Num = x - y

  = 乘法赋值 x = y ,等于Num = x * y

  /= 除法赋值 x /= y ,等于Num = x / y

  %= 取模赋值 x %= y ,等于Num = x % y

  
= 幂运算 x *= y ,等于Num = x * y

  //= 取整除赋值 x //= y ,等于Num = x // y

  <<= 右移位赋值 B1 <<= m ,等于B = B1 << m

  >>= 左移位赋值 B1 >>= m ,等于B = B1 >> m

  &= 位与赋值 B1 &= B2 ,等于B = B1 & B2

  |= 位或赋值 B1 |= B2 ,等于B = B1 | B2

  ^= 位异或赋值 B1 ^= B2 ,等于B = B1 ^ B2

  >>> x , y = 10 , 20

  >>> x + y

  30

  >>> x + y

  >>> print(x)

  30

0%