• 1.3 数值运算(Python)


    本文来自异想之旅公开发布的Python教程,原文地址:https://www.yuque.com/yxzl/python

    例 01 数值运算

    计算机最古老的用途是数值计算,所以这固然也是所有编程语言最重要的部分。对于数值的运算符如下:

    运算符说明样例特殊说明
    所有float 运算在所有计算中均可能出现数位错误,如:0.1 * 3 输出 0.300...004
    +加法运算1 + 1 输出 2
    -加法运算1 - 1 输出 0
    *乘法运算2 * 3 输出 6
    /除法运算3 / 2 输出 1.5无论结果是否为整数都返回 float 类型
    %取余运算10 % 3 输出 1
    **次幂运算2 ** 3 输出 8
    2 ** 0.5 输出 1.414...
    也可以用函数实现:pow(2, 3)
    //整除运算10 // 3 输出 1返回 int 类型,舍弃小数而非四舍五入

    代码实现如下:

    a = 21
    b = 10
    c = 0
    
    c = a + b
    print ("1: c 的值为:", c)
    
    c = a - b
    print ("2: c 的值为:", c)
    
    c = a * b
    print ("3: c 的值为:", c)
    
    c = a / b
    print ("4: c 的值为:", c)
    
    c = a % b
    print ("5: c 的值为:", c)
    
    a = 2
    b = 3
    c = a**b
    print ("6: c 的值为:", c)
    
    a = 10
    b = 5
    c = a//b
    print ("7: c 的值为:", c)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    输出内容:

    1: c 的值为: 31
    2: c 的值为: 11
    3: c 的值为: 210
    4: c 的值为: 2.1
    5: c 的值为: 1
    6: c 的值为: 8
    7: c 的值为: 2
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    例 02 赋值运算

    计算机最古老的用途是数值计算,所以这固然也是所有编程语言最重要的部分。对于数值的运算符如下:

    运算符说明实例
    =简单的赋值运算符c = a + b 将 a + b 的运算结果赋值为 c
    +=加法赋值运算符c += a 等效于 c = c + a
    -=减法赋值运算符c -= a 等效于 c = c - a
    *=乘法赋值运算符c _= a 等效于 c = c _ a
    /=除法赋值运算符c /= a 等效于 c = c / a
    %=取余赋值运算符c %= a 等效于 c = c % a
    **=幂赋值运算符c **= a 等效于 c = c ** a
    //=整除赋值运算符c //= a 等效于 c = c // a

    代码实现如下:

    a = 21
    b = 10
    c = 0
    
    c = a + b
    print ("1 - c 的值为:", c)
    
    c += a
    print ("2 - c 的值为:", c)
    
    c *= a
    print ("3 - c 的值为:", c)
    
    c /= a
    print ("4 - c 的值为:", c)
    
    c = 2
    
    c %= a
    print ("5 - c 的值为:", c)
    
    c **= a
    print ("6 - c 的值为:", c)
    
    c //= a
    print ("7 - c 的值为:", c)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    输出内容:

    1 - c 的值为: 31
    2 - c 的值为: 52
    3 - c 的值为: 1092
    4 - c 的值为: 52.0
    5 - c 的值为: 2
    6 - c 的值为: 2097152
    7 - c 的值为: 99864
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    除此之外,Python3.8 版本新增海象运算符 := ,可在表达式内部为变量赋值。实例如下:

    if n := 10 != 0:
        print(n)
    
    # 输出:10
    
    • 1
    • 2
    • 3
    • 4

    例 03 位运算(按需了解)

    鉴于在实用领域位运算使用较少,加上与其它编程语言完全一样的语法,这里不再赘述位运算的运算符详解,直接贴出 菜鸟教程《Python3:运算符》 的样例代码。如果你希望详细了解这一内容,可以点击超链接访问官网。

    a = 60           # 60 = 0011 1100
    b = 13           # 13 = 0000 1101
    c = 0
    
    c = a & b        # 12 = 0000 1100
    print ('#1 c的值为:', c)
    
    c = a | b        # 61 = 0011 1101
    print ('#2 c的值为:', c)
    
    c = a ^ b        # 49 = 0011 0001
    print ('#3 c的值为:', c)
    
    c = ~a           # -61 = 1100 0011
    print ('#4 c的值为:', c)
    
    c = a << 2       # 240 = 1111 0000
    print ('#5 c的值为:', c)
    
    c = a >> 2       # 15 = 0000 1111
    print ('#6 c的值为:', c)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    输出内容:

    #1 c的值为: 12
    #2 c的值为: 61
    #3 c的值为: 49
    #4 c的值为: -61
    #5 c的值为: 240
    #6 c的值为: 15
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    Python 的运算顺序基本符合数学中的定义,同时也支持通过使用小括号来改变运算顺序。但是 Python 只能使用小括号,如果有多级运算顺序需要改变,只需要多嵌套几层小括号就好,不要随意使用中括号和大括号,它们通常有特殊含义。

    下表中列出的是 Python 中所有运算符的优先级关系。部分内容我们赞数没有说到,大家参考已经掌握的即可。

  • 相关阅读:
    六张图详解LinkedList 源码解析
    【List篇】使用Arrays.asList生成的List集合,操作add方法报错
    C#/VB.NET:快速而简单的免费SVG到PDF转换技巧
    强强联合:OpenFeign 整合 Sentinel
    matplotlib之pyplot模块之直方图(hist():基础参数,返回值)
    [界面开发]DevExpress WinForms流程图控件——XtraDiagrams组件入门指南
    【Linux】终端、作业控制与守护进程(学习兼顾复习)
    聚类模型的算法性能评价
    QProgressDialog.close()失败,进度条关闭感觉失败了,无法彻底关闭
    Android学习笔记 71. activity和intent
  • 原文地址:https://blog.csdn.net/weixin_44495599/article/details/126115047