if用法--Python

来源:互联网 发布:暴走漫画官方淘宝 编辑:程序博客网 时间:2024/06/11 06:04

总结:

1. if elif else2. return num1, if num1 is larger than num2, else,return  num23. return num1, if num1 > num2, else num2#直接else num2(不用写return了)4. num3 = num1 if num1 > num2 else num2#直接else num2(不用写return了)5. num3 = [num2, num1][num1 < num2]    #:默认num2, 若num1 < num2 成立,返回num1


来自http://kevin-blog.readthedocs.io/en/latest/python-if-usage.html   Python if的多种用法

在一个编程语言中,”控制流”(判断语句)是必要的。

而在Python中的控制流,是if、elif、else等等……

我想大家都知道下面的 if的基本用法 ,那么更高级呢?

 1 2 3 4 5 6 7 8 91011
a = int(input('Enter the first number: '))b = int(input('Enter the second number: '))if a > b:    print('a is small than b')elif a < b:    print('a is large than b')else:    print('a is equals b')

在List comprehension中使用if

12
numbers = [x for x in range(100) if x % 3 == 0]print(numbers)

上述代码会将100之内能被3整除的数字作为一个list赋值给numbers。

List comprehension的原理是这样的:首先将range(100)的结果赋值给x。然后使用if判断出所有x内的能整除3的数字、并将这个值作为一个list赋值给x。最后,将x赋值给numbers。一个复杂的表达式使用一条语句就这么完成了。

Note

List comprehension的中文名称是 列表推导式 ,有兴趣的朋友们可以认真学习一下。

一条语句中的特殊表达式

123
def larger(num1, num2):    return num1 if num1 > num2 else num2

在上面我们定义的函数中,larger()接受两个参数,然后返回最大的一个。

我们可以这样理解这种表达式:return num1, if num1 is larger than num2.else, return num2.(如果num1比num2大则返回num1, 不然返回num2)或者,我们试着添加几个标点符号:return num1, if num1 > num2. else num2.

另外,我们还可以在赋值等多种情况下使用这种表达式:

1234
a = 10b = 20c = a if a > b else b

特别的二维列表

1234
a = 10b = 20c = [b, a][a < b]

上面的例子,c会是a。

上面的意思就是:默认情况下,c会是b(因为第一个list中b在前、a在后)。但如果a小于b的话(第二个list中描述的条件),则c会是a。

一种很难理解的表达式

1234
a = 10b = 20c = (a>b and [a] or [b])[0]

我只想说,这种方式过于繁琐,本着Python的精神所以不予介绍与推荐。

0 0
原创粉丝点击