写点什么

软件测试 / 测试开发 / 人工智能丨赋值运算符

作者:测试人
  • 2023-11-23
    北京
  • 本文字数:1207 字

    阅读完需:约 4 分钟

赋值运算符是使用=为运算符号,将运算符左侧的数据或表达式的结果,保存到运算符左侧的标识符中。

在使用赋值运算符时,运算符右侧可以是任意类型的数据,但左侧必须是一个变量,否则会报错。

除普通的赋值运算符外,赋值运算符还可以和算术运算符组合成为复合赋值运算符。

Python 中提供的赋值运算符如下表所示:


普通赋值运算符(=)

将等号左侧的数据保存到等号右侧的变量中

a = 1s = "Hello"sum = 1 + 2
复制代码

赋值运算符还支持同时定义多个变量

a, b, c = 1, 2, 3print(a, b, c)
复制代码

复合赋值运算符(+=)

+= 运算符是算术运算符+与 赋值运算符=的组合形式,用来简化计算赋值操作。表达式会将等号左侧变量中的数据与等号右侧的值进行加法计算,然后将计算结果重新保存到等号左侧的变量中。

a = 10a += 20 # 相当于表达式  a = a + 20print(a)
复制代码

复合赋值运算符(-=)

-= 运算符是算术运算符-赋值运算符=的组合形式,用来简化计算赋值操作。表达式会将等号左侧变量中的数据与等号右侧的值进行减法计算,然后将计算结果重新保存到等号左侧的变量中。

a = 10a -= 20 # 相当于表达式  a = a - 20print(a)
复制代码

复合赋值运算符(*=)

*=运算符是算术运算符*与赋值运算符=的组合形式,用来简化计算赋值操作。表达式会将等号左侧变量中的数据与等号右侧的值进行乘法计算,然后将计算结果重新保存到等号左侧的变量中。

a = 10a *= 20 # 相当于表达式  a = a * 20print(a)
复制代码

复合赋值运算符(/=)

/=运算符是算术运算符/与赋值运算符=的组合形式,用来简化计算赋值操作。表达式会将等号左侧变量中的数据与等号右侧的值进行除法计算,然后将计算结果重新保存到等号左侧的变量中。

a = 10a /= 20 # 相当于表达式  a = a / 20print(a)
复制代码

复合赋值运算符(//=)

//=运算符是算术运算符//与赋值运算符=的组合形式,用来简化计算赋值操作。表达式会将等号左侧变量中的数据与等号右侧的值进行整除计算,然后将计算结果重新保存到等号左侧的变量中。

a = 10a //= 20 # 相当于表达式  a = a // 20print(a)
复制代码

复合赋值运算符(%=)

%=运算符是算术运算符 %与赋值运算符=的组合形式,用来简化计算赋值操作。表达式会将等号左侧变量中的数据与等号右侧的值进行取模计算,然后将计算结果重新保存到等号左侧的变量中。

a = 10a %= 20 # 相当于表达式  a = a % 20print(a)
复制代码

复合赋值运算符(**=)

**=运算符是算术运算符**与赋值运算符=的组合形式,用来简化计算赋值操作。表达式会将等号左侧变量中的数据与等号右侧的值进行幂运算,然后将计算结果重新保存到等号左侧的变量中。

a = 10a **= 20 # 相当于表达式  a = a ** 20print(a)
复制代码

复合赋值运算符使用注意

当使用复合赋值运算符时,计算过程上看似对运算符进行展开后运算,而实际执行过程中,复合赋值运算符并不会进行展开操作。

特别是复合赋值运算符和其它运算符一起使用时,要特别注意。

n = 2# 该表达式结果为 14, 并不是10# 如果一定要展开,可以理解展开后为 n = n * ( 3 + 4)n *= 3 + 4print(n)
复制代码



用户头像

测试人

关注

专注于软件测试开发 2022-08-29 加入

霍格沃兹测试开发学社,测试人社区:https://ceshiren.com/t/topic/22284

评论

发布
暂无评论
软件测试/测试开发/人工智能丨赋值运算符_人工智能_测试人_InfoQ写作社区