if语句用来表示某种可能的情况,并如何处理该情况。if语句可以用来表示一种可能性、两种可能性或者多种可能性。
1 一种可能性
单个的if语句表示一种可能性,if关键字后面跟着表达式,当表达式是True时,表示这种情况发生了,则执行指定的语句,即处理该情况,如图1所示。
图1 单个if语句的使用
其中,图1①使用input()函数接收用户输入的数值,将其转换成int类型并保存在变量中;图1②通过if语句对变量x进行判断,如果x的值大于0,则输出“您输入的是一个非负数”这个信息(图1③)。需要注意的是,if语句后面紧跟着表达式,表达式的后面是一个冒号,要执行的语句前面有缩进。
运行该代码的效果如图2所示。
图2 代码运行效果
从图2可以看出,当输入的整数是10时,会输出“您输入的是一个非负数”这个信息。
2 两种可能性
如果需要对用户输入的数值进行非负数和负数的判断时,就是有两种可能性,此时可以使用if...else语句,如图3所示。
图3 if...else语句的使用
其中,当if语句与“1 一种可能性”中的用法相同,当if的表达式是False时,则会调用else语句对应的处理语句。当输入一个负数时,会显示“您输入的是一个负数”,如图4所示。
图4 代码运行效果
3 多种可能
如果需要对用户输入的数值进行正数、零和负数的判断时,就是有三种可能性,此时可以使用if...elif...else语句,如图5所示。
图5 if...elif...else语句的用法
其中,elif是else if的简写,也就是说,当if的表达式是False时,就会接下来判断elif的表示式是否是True,如果是True,则执行elif对应的处理代码;如果是False则执行else对应的处理代码。该代码执行的效果如图6所示。
图6 代码运行效果
补充:if多类型条件
写if的文档主要是为了让自己巩固一下关于if多类型条件的知识
def __init__(self): self.moving_right = False self.moving_left = False #这里无论是被实例化的值还是 正常给元素赋的值 都可以放在if内进行判断 def update(self): if self.moving_right and self.rect.right < self.screem_rect.right: self.center += self.ai_settings.ship_speed_factor #self.rect.right < self.screem_rect.right这种比较操作符的判断上面也有讲解 #if的判断可以判断很多种类型 如函数方法 returen结果为True 如下: def update(self): if self.moving_right: return True esle: return False def blitme(self): if update: #方法blitme()内if判断了函数update() 那么update返回的return为True 那么if的判断结果就为True 反之为False def update(self,moving_right=True): if self.moving_right: #if的判断也可以从方法的形参中获取布尔值判断的状态
通过这些距离 能看出来if的判断可以相当灵活的做出很多处理