• 22.Python赋值运算符(入门必读)


    赋值运算符主要用来为变量(或常量)赋值,在使用时,既可以直接用基本赋值运算符“=”将右侧的值赋给左侧的变量,右侧也可以在进行某些运算后再赋值给左侧的变量。

    = 基本赋值运算符

    Python 使用“=”作为赋值运算符,常用于将表达式的值赋给另一个变量。例如如下代码:

    1. # 为变量st赋值为Python
    2. st = "Python"
    3. # 为变量pi赋值为3.14
    4. pi = 3.14
    5. # 为变量visited赋值为True
    6. visited = True

    除此之外,也可使用赋值运算利将一个变量的值赋给另一个变量。例如,如下代码也是正确的:

    1. # 将变量st的值赋给st2
    2. st2 = st
    3. print(st2)

    值得指出的是,Python 的赋值表达式是有值的,赋值表达式的值就是被赋的值,因此 Python 支持连续赋值。例如,如下代码也是正确的:

    a = b = c = 20

    上面程序将 c=20。这个表达式的值赋给变量 b,由于赋值表达式本身也有值,就是被赋的值,因此 c=20 这个表达式的值就是 20,故 b 也被赋值为 20;依此类推,变量 a 也被赋值为 20。

    赋值运算符还可用于将表达式的值赋给变量。例如,如下代码也是正确的:

    1. d1 = 12.34
    2. # 将表达式的值赋给d2
    3. d2 = d1 + 5
    4. # 输出d2的值
    5. print("d2的值为:%g" % d2 ) # 17.34


    需要初学者特别注意的是,= 和 == 的含义完全不同,前者是赋值号,后者是等号,千万不要混淆。

    扩展后的赋值运算符

    = 赋值运算符还可与其他运算符(算术运算符、位运算符等)结合,成为功能更强大的赋值运算符,如表 1 所示。

    表 1 Python 常用赋值运算符
    运算符 说 明 举 例 展开形式
    = 最基本的赋值运算 x = y x = y
    += 加赋值 x += y x = x + y
    -= 减赋值 x -= y x = x - y
    *= 乘赋值 x *= y x = x * y
    /= 除赋值 x /= y x = x / y
    %= 取余数赋值 x %= y x = x % y
    **= 幂赋值 x **= y x = x ** y
    //= 取整数赋值 x //= y x = x // y
    &= 按位与赋值 x &= y x = x & y
    |= 按位或赋值 x |= y x = x | y
    ^= 按位异或赋值 x ^= y x = x ^ y
    <<= 左移赋值 x <<= y x = x << y,这里的 y 指的是左移的位数
    >>= 右移赋值 x >>= y x = x >> y,这里的 y 指的是右移的位数

    这里举几个简单的例子:

    1. a = 1
    2. b = 2
    3. a += b
    4. print("a+b=",a)#1+2=3
    5. a -= b
    6. print("a-b=",a)#3-2=1
    7. a *= b
    8. print("a*b=",a)#1*2=2
    9. a /= b
    10. print("a/b=",a)#2/2=1.0
    11. a %= b
    12. print("a%b=",a)#1%2=1.0
    13. c = 0
    14. d = 2
    15. c &= d
    16. print("c&d=",c)#0&2=0
    17. c |= d
    18. print("c|d=",c)#0|2=2

    运行结果为:

    a+b= 3
    a-b= 1
    a*b= 2
    a/b= 1.0
    a%b= 1.0
    c&d= 0
    c|d= 2

    需要注意的是,程序中 a 的值通过 /= 和 %= 运算后,类型隐式改变成了浮点型,而浮点数是不能进行 &、|、^、<< 和 >> 运算的,否则 Python 解释器会报错(这些都属于位运算符,具体用法后续文章会详细介绍)。

    通常情况下,只要能使用扩展后的赋值运算符,都推荐使用这种赋值运算符。

  • 相关阅读:
    std::bind常见的坑
    valgrind使用指南
    Makefile (1) gcc基础
    准备篇(三)Makefile
    win10激活
    C语言结构体篇 结构体
    C语言字符篇(五)内存函数
    C语言字符篇(四)字符串查找函数
    C语言字符篇(三)字符串比较函数
    C语言字符篇(二)字符串处理函数
  • 原文地址:https://www.cnblogs.com/youqc/p/12067854.html
Copyright © 2020-2023  润新知