3.2 有趣的赋值操作

赋值操作是再简单不过了,在前面的章节也多次使用了赋值操作。不过Python语言中的赋值操作要有趣得多。例如,可以同时将多个值赋给多个变量。

x,y,z = 1,2,3

print(x,y,z)

1 2 3

在上面的代码块中,将1、2、3分别赋值给了x、y、z三个变量,并输出这三个变量的值。使用Python语言中的这个特性可以很容易实现两个变量中值的交换。

x,y = 20,30

x,y = y,x

print(x,y)

30 20

x,y,z = 1,2 这种同时将多个值赋给多个变量的操作,等号(=)左右两侧的变量名和变量个数必须相等,否则将抛出异常。

Python语言的这种特性称为序列解包(sequence unpacking),其实任何一个迭代(iterable)的对象都支持这一特性。关于迭代对象(列表、集合)的详细信息会在以后的章节介绍。

Python语言还支持链式赋值(chained assignments)和增量赋值(augmented assignments),链式赋值是指将同一个值连续赋给多个变量。

x = y = 20

增量赋值是指将变量自身增加或减小(负增量)指定值的表达式的简化形式。例如,x = x+2,如果用增量赋值表达式,可以写成x += 2,也就是将等号(=)右侧的x省略,并将加号(+)放到等号(=)左侧。例如:

x = 5

x += 2

print(x)

7

意思就是说,x的值是5,x += 2相当于,x = 5+2的值在赋值给x,最后输出x变量结果是7。

其实前面介绍的二元运算符都支持增量赋值,例如,x = x 20可以写成x= 20, x = x % 3 可以写成 x %= 3。

[例 3.2] 本例演示了序列解包、链式赋值和增量赋值的使用方法。

x,y,z = 1,2,3 #使用序列解包方式进行赋值

print(x,y,z)

x,y = y,x #利用序列解包交换x和y的值

print(x,y)

#x,y,z = 1,2 #抛出异常

#x,y = 1,2,3 #抛出异常

x = y = z = j = 20 #使用链式赋值设置x、y、z、j

print(x,y,z,j)

x *= 2 #乘法增量赋值

y %= 3 #除法负增量赋值

z -= 1 #减法负增量赋值

j += 1 #加法增量赋值

print(x,y,z,j)

1 2 3

2 1

20 20 20 20

40 2 19 21

python 有趣的变量_Python进阶之路 3.2有趣的赋值操作相关推荐

  1. python英译汉库模块_Python 进阶之路-翻译模块

    Python 进阶之路-翻译模块 作者:nango  阅读:1749次  来源:原创  时间:2017-07-14 17:09 Git 地址 [python 翻译模块](https://github. ...

  2. python定义一个变量_Python新手上车3:Python第一个程序和变量

    第一个程序 上节内容我们提到了如何安装Python 以及安装配置VSCode,这节内容我们继续介绍第一个程序的建立: 1.在VS的左上角点击建立一个新的程序,命名为 python_0301_code. ...

  3. python怎么创建变量_python怎么创建变量

    变量(variable)是学习python初始时,就会接触到的一个新的知识点,也是一个需要熟知的概念.python是一种动态类型语言,在赋值的执行中可以绑定不同类型的值,这个过程叫做变量赋值操作,赋值 ...

  4. python的常量变量_Python基础语法-常量与变量

    Python是一门强类型的动态语言. 字面常量,变量没有类型,变量只是在特定的时间指向特定的对象而已,变量所指向的对象是有类型的. 变量:变量在赋值时被创建,它可以是任何对象的引用,但必须在引用前被赋 ...

  5. python设置环境变量_Python设置环境变量

    python设置环境变量 We can set an environment variable in Python using os module. Python os module environ ...

  6. python局部静态变量_python如何设置静态变量

    众所周知,Python语言并不支持静态变量,比如下面这样一个应用场景: void foo() { static int count = 0; count ++; } 在Python中无法自然实现这个功 ...

  7. python定义二进制变量_Python学习笔记一:第一个Python程序,变量,字符编码与二进制,用户交互程序...

    第一个python程序 Windows:设置环境变量,X:\pthonxxx,xxx是版本号 在命令提示符下 输入python,进入解释器 >>>print("Hello ...

  8. python中的变量_Python中的变量

    python中的变量 This lesson deals with variables. Those who already know some programming must be familia ...

  9. python自动化常用数字_python 自动化之路 day 01.1 数据类型

    一.变量 二.数据类型 2.1 什么是数据类型及数据类型分类 2.2 标准数据类型: 2.2.1 数字 2.2.1.1 整型: 2.2.1.2 长整型long: 2.2.1.3 布尔bool: 2.2 ...

最新文章

  1. 入门到放弃node系列之网络模块(二)
  2. Python入门 io篇
  3. 图的dfs非递归_如何理解恶心的递归
  4. 如何让一套代码适配所有iOS设备尺寸?
  5. python爬虫入门 - 代码、案例集合
  6. java 表格添加监听_关于Oracle用java实时监听oracle对表的DML操作【技术贴】
  7. Flex 4与自定义循环布局(转)
  8. CacheCloud运维管理平台学习笔记
  9. 高等代数第3版下 [丘维声 著] 2015年版_书籍推荐 | 关于数学分析和高等代数
  10. jieba基本使用过程
  11. 何宾 单片机原理及应用_stc单片机原理及应用.pdf
  12. 【愚公系列】2022年02月 阿里云 无影云桌面产品测评
  13. e430c更换光盘托架_如何处理PC上未使用的光盘驱动器托架
  14. 物联网微生态系统-鱼缸
  15. 给我“空降”一个弟兄
  16. FoodDelivered-Robot---送餐机器人(六)模块驱动代码---IO采集部分
  17. 达梦体系结构(DM8)_yxy
  18. Python入门实例——测试代码
  19. subscription-manager repos --enable <repo>
  20. 动态范围测试—imatest

热门文章

  1. web前端开发工具整理
  2. matlab符号运算结果的分数怎么转化为小数
  3. Nginx之负载均衡
  4. linux下配置多网卡或多IP的方法
  5. opencv4.2.0 视频去抖动算法代码
  6. 区块链大热,和出版业如何发生关系?
  7. Socket_send函数和recv函数详解
  8. Flask实战2问答平台-发布问答功能完成
  9. Codewars 开篇
  10. 2017计算机等级考试题,2017年计算机二级考试题库及答案