Python学习手册之元组拆包、三元运算符和 else 语句深入
2019-08-06

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

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

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

运行结果:

>>>123>>>

这也可用于交换变量,方法是 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)

运行结果:

>>>12[3, 4, 5, 6, 7, 8]9>>>

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

a = 1b = 2h = ""h = a-b if a>b else a+bprint(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输入第三个数:888>>>

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

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

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

运行结果:

>>>hello world 1>>>

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

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

运行结果:

>>>0.25division by zero>>>

 

 

 

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