Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。
可以通过下图来简单了解条件语句的执行过程:
Python程序语言指定
任何非 0
和非空(null)
值为 true
!
而 0
或者 null
为false
!
Python 编程中 if 语句用于控制程序的执行,基本形式为:
if (判断条件):
'''执行代码'''
else:
'''执行代码'''
其中"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。
else 为可选语句,当需要在条件不成立时执行内容则可以执行相关语句。
示例:
# -*- coding: UTF-8 -*-
# 例1:if 基本用法
flag = False
name = 'luren'
if name == 'python': # 判断变量是否为 python
flag = True # 条件成立时设置标志为真
print('Welcome, BOSS!') # 并输出欢迎信息
else:
print(name) # 条件不成立时输出变量名称
结果:
luren # 输出结果
if 语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。
当判断条件为多个值时,可以使用以下形式:
if (判断条件):
'''执行代码'''
elif(另外判断条件):
'''执行代码'''
elif(另外判断条件):
'''执行代码'''
else:
'''执行代码'''
示例:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 例2:elif用法
num = 5
if num == 3: # 判断num的值
print('BOSS')
elif num == 2:
print('user')
elif num == 1:
print('worker')
elif num < 0: # 值小于零时输出
print('Error')
else:
print('roadman') # 条件均不成立时输出
结果:
roadman # 输出结果
由于 Python 并不支持 switch
语句,所以多个条件判断,只能用 elif 来实现,如果判断需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功。
# -*- coding: UTF-8 -*-
# 例3:if语句多个条件
num = 9
if num >= 0 and num <= 10: # 判断值是否在0~10之间
print 'hello'
# 输出结果: hello
num = 10
if num < 0 or num > 10: # 判断值是否在小于0或大于10
print 'hello'
else:
print 'undefine'
# 输出结果: undefine
num = 8
# 判断值是否在0~5或者10~15之间
if (num >= 0 and num <= 5) or (num >= 10 and num <= 15):
print 'hello'
else:
print 'undefine'
# 输出结果: undefine
当 if
有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外 and
和 or
的优先级低于 >(大于)、 <(小于)等判断符号,即大于和小于在没有括号的情况下会比与或要优先判断。
三元运算符通常在Python里被称为条件表达式,这些表达式基于真(true)/假(false)的条件判断,在 Python 2.4 以上才有了三元操作。
下面是一个伪代码和例子:
伪代码:
#如果条件为真,返回真 否则返回假
condition_is_true if condition else condition_is_false
示例:
is_fat = True
state = "fat" if is_fat else "not fat"
它允许用简单的一行快速判断,而不是使用复杂的多行 if
语句。 这在大多数时候非常有用,而且可以使代码简单可维护。
另一个晦涩一点的用法比较少见,它使用了元组,请继续看:
伪代码:
#(返回假,返回真)[真或假]
(if_test_is_false, if_test_is_true)[test]
示例:
fat = True
fitness = ("skinny", "fat")[fat]
print("Ali is", fitness)
#输出: Ali is fat
这之所以能正常工作,是因为在Python中,True 等于1,而 False 等于0,这就相当于在元组中使用0和1来选取数据。
上面的例子没有被广泛使用,而且 Python 玩家一般不喜欢那样,因为没有 Python 味儿(Pythonic)。这样的用法很容易把真正的数据与 True/False 弄混。
另外一个不使用元组条件表达式的缘故是因为在元组中会把两个条件都执行,而 if-else
的条件表达式不会这样。
例如:
condition = True
print(2 if condition else 1 / 0)
#输出: 2
print((1 / 0, 2)[condition])
#输出 ZeroDivisionError 异常
这是因为在元组中是先建数据,然后用 True(1)/False(0) 来索引到数据。 而 if-else
条件表达式遵循普通的 if-else
逻辑树, 因此,如果逻辑中的条件异常,或者是重计算型(计算较久)的情况下,最好尽量避免使用元组条件表达式。
感谢你能看到最后,给大家准备了一些福利!
感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。
CSDN大礼包:全网最全《Python学习资料》免费赠送!(安全链接,放心点击)
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python兼职渠道推荐*
学的同时助你创收,每天花1-2小时兼职,轻松稿定生活费.
三、最新Python学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
CSDN大礼包:全网最全《Python学习资料》免费赠送!(安全链接,放心点击)
若有侵权,请联系删除