在上一篇文章中,我们介绍了 Python 之禅、 Python 编程规范和函数参数,现在我们介绍 Python 的元组拆包、三元运算符和对 Python 的 else 语句深入讲解。查看上一篇文章请点击:https://www.cnblogs.com/dustman/p/10052453.html

元组拆包
元组拆包允许你将可迭代中 (大多数是元祖) 的每个项分配给一个变量。

nums = (1,2,3)
a,b,c = nums
print(a)
print(b)
print(c)

运行结果:

>>>
1
2
3
>>>

这也可用于交换变量,方法是 a, b = b, a。由于b, a 在右边隐式形成元组 (b, a),然后使用拆包技术。
以星号 (*) 作为前缀的变量接受其他变量遗留的所有可迭代值。

a, b, *c, d = [1,2,3,4,5,6,7,8,9]
print(a)
print(b)
print(c)
print(d)

运行结果:

>>>
1
2
[3, 4, 5, 6, 7, 8]
9
>>>

三元运算符
条件表达式提供 if 语句的功能,同时代码简洁。尽量避免过度使用,因为它很容易降低可读性,但是在分配变量时会经常用到。条件表达式被称为三元运算符。

a = 1
b = 2
h = ""
h = a-b if a>b else a+b
print(h)

运行结果:

>>>
3
>>>

三元操作符检查条件判断并返回相应的值。如果条件为真,执行 a - b。如果 a 小于 b,则执行 a + b

x = int(input("输入第一个数:"))
y = int(input("输入第二个数:"))
z = int(input("输入第三个数:")) #三目运算符的第一种写法
print((x if (x>y) else y) if ((x if (x>y) else y)>z) else z)
#三目运算符的第二种写法
a=(x if (x>y) else y)
print(a if (a>z) else z)

运行结果:

>>>
输入第一个数:4
输入第二个数:5
输入第三个数:8
8
8
>>>

从这两个列子可以看出用Python的三目运算符用简短的代码完成需要完成的功能。

else 语句深入
else 语句通常与 if 语句一起使用,但它也可以和 forwhile 循环一起使用。
对于 forwhile 循环,如果循环正常结束 (当中断语句不导致循环退出) 时,else 内的代码块被调用。

for i in range(0, 10):
if i > 10:
break
else:
print("hello world 1") for i in range(0, 10):
if i < 1:
break
else:
print("hello world 2")

运行结果:

>>>
hello world 1
>>>

第一个 for 循环执行正常,导致打印出 hello world 1。第二个代码由于调用了 break 那么 else 语句没有被调用。
else 语句同样可以用在 try/except 语句里。在这种情况下,只有在 try 语句没有异常时,才执行 else 的代码。

try:
a = 1/4
except Exception as e:
print(e)
else:
print(a) try:
a = 1/0
except Exception as e:
print(e)
else:
print(a)

运行结果:

>>>
0.25
division by zero
>>>

“在人生的竞技场,荣誉和奖赏眷顾那些品行高尚的人。” -- 亚里士多德

Python学习手册之元组拆包、三元运算符和 else 语句深入的更多相关文章

  1. 《Python学习手册 第五版》 -第12章 if测试和语法规则

    本章节的内容,主要讲解if语句,if语句是三大复合语句之一(其他两个是while和for),能处理编程中大多数逻辑运算 本章的重点内容如下: 1.if语句的基本形式(多路分支) 2.布尔表达式 3.i ...

  2. Python学习手册(第4版) - 专业程序员的养成完整版PDF免费下载_百度云盘

    Python学习手册(第4版) - 专业程序员的养成完整版PDF免费下载_百度云盘 提取码:g7v1 作者简介 作为全球Python培训界的领军人物,<Python学习手册:第4版>作者M ...

  3. Python学习手册(第4版)PDF高清完整版免费下载|百度云盘

    Python学习手册(第4版)PDF高清完整版免费下载|百度云盘 提取码:z6il 内容简介 Google和YouTube由于Python的高可适应性.易于维护以及适合于快速开发而采用它.如果你想要编 ...

  4. [python学习手册-笔记]003.数值类型

    003.数值类型 ❝ 本系列文章是我个人学习<python学习手册(第五版)>的学习笔记,其中大部分内容为该书的总结和个人理解,小部分内容为相关知识点的扩展. 非商业用途转载请注明作者和出 ...

  5. 《Python学习手册》读书笔记

    之前为了编写一个svm分词的程序而简单学了下Python,觉得Python很好用,想深入并系统学习一下,了解一些机制,因此开始阅读<Python学习手册(第三版)>.如果只是想快速入门,我 ...

  6. 《Python学习手册》读书笔记【转载】

    转载:http://www.cnblogs.com/wuyuegb2312/archive/2013/02/26/2910908.html 之前为了编写一个svm分词的程序而简单学了下Python,觉 ...

  7. [python学习手册-笔记]002.python核心数据类型

    python核心数据类型 ❝ 本系列文章是我个人学习<python学习手册(第五版)>的学习笔记,其中大部分内容为该书的总结和个人理解,小部分内容为相关知识点的扩展. 非商业用途转载请注明 ...

  8. 《Python学习手册 第五版》 -第13章 while循环和for循环

    上一章已经讲过if条件语句,这章重点是循环语句:while.for 本章的重点内容 1.while循环 1)一般形式 2)break.continue.pass和循环的else 2.for循环 1)一 ...

  9. 《Python学习手册 第五版》 -第11章 赋值、表达式和打印

    上一章对Python的语句和语法已经进行了基本的说明,接下来就是每个章节的详细说明,本章的主要内容就是标题中涵盖的三点:赋值语句.表达式语句.打印语句 本章重点内容如下: 1.赋值语句 1)赋值语句的 ...

随机推荐

  1. Python初学者第二天 用户输入和注释

    2day Python基础语法: 1.用户输入和注释 用户输入:   代码注释:# 注释部分不会被执行,或用来帮助理清代码逻辑   2.数据类型:数字 int:整数   long:长整形  注:Pyt ...

  2. Hadoop学习---Eclipse中hadoop环境的搭建

    在eclipse中建立hadoop环境的支持 1.需要下载安装eclipse 2.需要hadoop-eclipse-plugin-2.6.0.jar插件,插件的终极解决方案是https://githu ...

  3. PTA练习题之7-2 求交错序列前N项和(15 分)

    本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和. 输入格式: 输入在一行中给出一个正整数N. 输出格式: 在一行中输出部分和的值,结果保留三位小数. ...

  4. WSGI、flup、fastcgi、web.py、uwsgi

    ==================        网上别人的理解 =================== http://www.douban.com/note/13508388/ 1.Apache/ ...

  5. 入门学习webpack笔记

    注意事项: 1.预热知识:前端模块化.commonJS最好提前了解.commonJS语法最好熟悉. 2.commonJS中,module表示当前模块,module.exports(或者exports) ...

  6. codeforces 814E An unavoidable detour for home

    题目链接 正解:$dp$. 感觉这道题就是中国象棋的加强版..我们要发现一些性质. 首先就是这个图肯定是一个按照$bfs$序分层的图,且每个点只往自己上面那一层连了一条边,每个点不可能向自己的上面超过 ...

  7. JDK工具系列之jps

    一.简介 jps(JVM Process Status Tool)是虚拟机进程状态工具:可以列出正在运行的虚拟机进程,显示虚拟机正在执行的main()函数,及这些进程的ID(LVMID,Local V ...

  8. Mac常备必用的软件-mac软件推荐

    目录 终端工具 iTerm2,做开发的都用它代替系统自带的“终端”,免费软件,官网直接下载即可. 文件比较工具 meld,开源免费的文件/文本比较工具. 安装方法:brew cask install ...

  9. 第三章.搭建MyBatis工程环境

    1.数据库的准备: 数据库: create DATABASE mybatis: 数据表: CREATE TABLE `user` ( `id` int(10) NOT NULL AUTO_INCREM ...

  10. 虚拟机Centos安装docker小记

    本书记录是参考 <Spring Cloud 与 Docker 微服务架构实战(第二版)>这本书实现的. 记录简单几个命令,安装顺序如下: 1. 安装docker所需的包 sudo yum ...