网淘巴来吧,欢迎您!

返回首页 微信
微信
手机版
手机版

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

2021-05-16 新闻来源:网淘巴 围观:355
''

赋值运算符用来把右侧的值传递给左侧的变量(或者常量);可以直接将右侧的值交给左侧的变量,也可以进行某些运算后再交给左侧的变量,比如加减乘除、函数调用、逻辑运算等。

Python 中最基本的赋值运算符是等号=;结合其它运算符,=还能扩展出更强大的赋值运算符。

基本赋值运算符

=是 Python 中最常见、最基本的赋值运算符,用来将一个表达式的值赋给另一个变量,请看下面的例子:

  1. #将字面量(直接量)赋值给变量
  2. n1 = 100
  3. f1 = 47.5
  4. s1 = "http://c.biancheng.net/python/"
  5.  
  6. #将一个变量的值赋给另一个变量
  7. n2 = n1
  8. f2 = f1
  9.  
  10. #将某些运算的值赋给变量
  11. sum1 = 25 + 46
  12. sum2 = n1 % 6
  13. s2 = str(1234) #将数字转换成字符串
  14. s3 = str(100) + "abc"

连续赋值

Python 中的赋值表达式也是有值的,它的值就是被赋的那个值,或者说是左侧变量的值;如果将赋值表达式的值再赋值给另外一个变量,这就构成了连续赋值。请看下面的例子:

a = b = c = 100

=具有右结合性,我们从右到左分析这个表达式:

  • c = 100 表示将 100 赋值给 c,所以 c 的值是 100;同时,c = 100 这个子表达式的值也是 100。
  • b = c = 100 表示将 c = 100 的值赋给 b,因此 b 的值也是 100。
  • 以此类推,a 的值也是 100。


最终结果就是,a、b、c 三个变量的值都是 100。

= 和 ==

= 和 == 是两个不同的运算符,= 用来赋值,而 == 用来判断两边的值是否相等,千万不要混淆。

扩展后的赋值运算符

=还可与其他运算符(包括算术运算符、位运算符和逻辑运算符)相结合,扩展成为功能更加强大的赋值运算符,如表 1 所示。扩展后的赋值运算符将使得赋值表达式的书写更加优雅和方便。

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


这里举个简单的例子:

  1. n1 = 100
  2. f1 = 25.5
  3.  
  4. n1 -= 80 #等价于 n1=n1-80
  5. f1 *= n1 - 10 #等价于 f1=f1*( n1 - 10 )
  6.  
  7. print("n1=%d" % n1)
  8. print("f1=%.2f" % f1)

运行结果为:
n1=20
f1=255.00

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

但是请注意,这种赋值运算符只能针对已经存在的变量赋值,因为赋值过程中需要变量本身参与运算,如果变量没有提前定义,它的值就是未知的,无法参与运算。例如,下面的写法就是错误的:

n += 10

该表达式等价于 n = n + 10,n 没有提前定义,所以它不能参与加法运算。

免责申明
部分文章来自各大搜索引擎,如有侵权,请与我联系删除。
打赏

本文链接:https://www.wtao8.com/post/84.html 转载需授权!

分享到:

相关文章

龙年
大发