• 15. Python 赋值运算


    15. 赋值运算

    1. 赋值运算符

    赋值用1个等号=表示。

    在变量和赋值中我们讲过,赋值是指把右边的内容放到左边的容器里。

    赋值符号=不是左边等于右边的意思。仅仅表示赋值动作:把右边的内容放到了左边的容器里。

    【重点提示】

    赋值符号=不是左边等于右边的意思。仅仅表示赋值动作:把右边的内容放到了左边的容器里。

    在python中,代表左右两边相等的符号,是比较运算符==

    初学者在编写比较运算的时候通常会错写为1个等号=

    在这里插入图片描述

    2. 赋值运算符语法

    赋值运算执行顺序:从右边到左边。
    赋值运算符用1个等号表示=

    3. 直接赋值

    # 定义一个变量a
    a = 2+3 
    
    # 查看a 
    print(a)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    【终端输出】

    5
    
    • 1

    赋值运算符的执行顺序是从右到左。
    因此,上述代码中先计算右侧的加法2+3
    将右侧计算完得到的结果5赋值给变量a。
    因此a = 5

    4. 链式赋值

    # 用链式赋值定义3个变量
    a = b = c = 10
    
    # 查看3个变量的值
    print(a)
    print(b)
    print(c)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    【终端输出】

    10
    10
    10
    
    • 1
    • 2
    • 3

    像a = b = c = 10 这样的赋值方式我们称之为链式赋值。
    赋值运算符的执行顺序是从右到左。
    上述代码中的变量abc 的值都是10。
    赋值过程是还是按照从右到左的顺序,先给C 变量赋值,然后依次给b a 赋值。

    5. 参数赋值

    参数赋值共有6类:

    在这里插入图片描述

    # 定义两个变量
    a = 2
    b = 5
    
    # 采用参数赋值法重新给a赋值
    a += b
    # 查看变量a 的值
    print(a)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    【终端输出】

    7
    
    • 1

    += 加法赋值。
    意思是先加后赋值。
    先加表示先计算a+b
    后赋值意思是把加的结果赋值给a。
    a += b 就相当于 a = a+b = 2+5= 7。
    因此a最后的值为7。

    a += b 就相当于 a = a+b

    # 定义两个变量
    a = 2
    b = 5
    
    # 采用参数赋值法重新给a赋值
    a -= b
    # 查看变量a 的值
    print(a)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    【终端输出】

    -3
    
    • 1

    -= 减法赋值,表示:先减后赋值。
    先减表示先计算a-b
    后赋值意思是把减的结果赋值给a。
    a -= b 就相当于 a = a-b = 2-5= -3。
    因此a最后的值为-3。

    # 定义两个变量
    a = 2
    b = 5
    
    # 采用参数赋值法重新给a赋值
    a *= b
    # 查看变量a 的值
    print(a)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    【终端输出】

    10
    
    • 1

    *= 乘法赋值,表示:先乘后赋值。
    先乘表示先计算a*b
    后赋值意思是把乘的结果赋值给a。
    a *= b 就相当于 a = a*b = 2*5= 10。
    因此a最后的值为10。

    # 定义两个变量
    a = 2
    b = 5
    
    # 采用参数赋值法重新给a赋值
    a /= b
    # 查看变量a 的值
    print(a)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    【终端输出】

    0.4
    
    • 1

    /= 除法赋值,表示:先除后赋值。
    先除表示先计算a/b
    后赋值意思是把除的结果赋值给a。
    a /= b 就相当于 a = a/b = 2/5= 0.4。
    因此a最后的值为0.4。

    # 定义两个变量
    a = 2
    b = 5
    
    # 采用参数赋值法重新给a赋值
    a //= b
    # 查看变量a的值
    print(a)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    【终端输出】

    0
    
    • 1

    //= 取整赋值,表示:先取商后赋值。
    先取商表示先计算a//b
    后赋值意思是把整除的结果赋值给a。
    a //= b 就相当于 a = a//b = 2//5= 0。
    2//5,商为0余数为2。
    因此a最后的值为0。

    # 定义两个变量
    a = 2
    b = 5
    
    # 采用参数赋值法重新给a赋值
    a %= b
    # 查看变量a 的值
    print(a)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    【终端输出】

    2
    
    • 1

    %= 取余赋值,表示:先取余后赋值。
    先取余表示先计算a%b
    后赋值意思是把取余的结果赋值给a。
    a %= b 就相当于 a = a%b = 2%5= 2。
    2%5,商为0余数为2。
    因此a最后的值为2。

    在Python编写代码中,大家通常采用参数赋值法。这个知识点需要重点掌握。

    6. 系列包赋值

    # 定义3个变量
    a,b,c = 10,20,30
    
    # 查看3个变量的值
    print(a) 
    print(b) 
    print(c) 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    【终端输出】

    10
    20
    30
    
    • 1
    • 2
    • 3

    a,b,c = 10,20,30的意思是按顺序将10赋值给变量a,将20赋值给变量b,将30赋值给变量c。
    像a,b,c = 10,20,30这样一次性定义多个变量,就称为系列包赋值。
    系列包赋值注意等号左侧的个数和等号右侧的个数要相同,值要一一对应。

    # 定义3个变量
    a,b,c = '白敬亭','男','1993年'
    
    # 查看3个变量的值
    print(a) 
    print(b) 
    print(c) 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    【终端输出】

    白敬亭
    男
    1993年
    
    • 1
    • 2
    • 3

    交换两个变量的值

    # 定义2个变量
    a,b = 10,200
    
    # 查看变量交换前的值
    print('交换之前:',a,b)
    
    # 交换两个变量的值
    a,b = b,a
    # 查看变量交换后的值
    print('交换之后:',a,b)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    【终端输出】

    交换之前: 10 200
    交换之后: 200 10
    
    • 1
    • 2

    7. 总结

    在这里插入图片描述

  • 相关阅读:
    Python 潮流周刊#57:Python 该采用日历版本吗?
    STM32——红外遥控器实验
    牛客网刷题记录 || 链表
    Day8:寻路算法---深度寻路
    jwsManager服务接口实现类-jni实现
    【前端】学习笔记1.JavaScript书写位置、注释、结束符、输入输出、字面量
    Docker手把手教程(二)核心命令
    Linux命令大全
    Python os模块
    阿里一面的那些Redis高频例题
  • 原文地址:https://blog.csdn.net/weixin_63986098/article/details/126445028