• 之前对if的用法的理解太浅层了 今天稍微总结梳理一下if的用法
  • if为python条件语句中的一种 通过一条或多条语句的执行结果(True或者False)来决定执行的代码块

if基本语句

  • if 语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系
if 判断条件:
   执行语句……
else:
   执行语句……
‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’
if 判断条件1:
   执行语句1……
elif 判断条件2:
   执行语句2……
elif 判断条件3:
   执行语句3……
else:
   执行语句4……

if or/and

  • 如果判断需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功
if self.detail_image_tip.exists() or self.open_long_atlas.exists():
  logger.info('当前作品不支持相关推荐展示')
  self.swipeByCount("up", 0.2, 1)
  logger.info('上滑一个作品')
else:
  logger.info('当前作品支持相关推荐展示')
#or 两个元素只要有一个为True 那么这个判断就为True 两个元素判断都为Flase才为False

if self.link_icon.exists() and self.hot_live.exists():
  logger.info('当前作品不是普通作品')
else:
  logger.info('当前作品普通作品')
#and 当前两个元素都存在为True时 if判断为True  一个为False 那么if判断就为False

not

if self.comment_frame.exists() is not True:
#is not True的意思是当元素判断不为True的时候 if的判断为True 走True的部分不走else的部分

if not number > 6:
  self.swipeByCount("down", 0.2, 1)
  self.swipeByCount("up", 0.2, 1)
#not的意思是 if判断当number不大于6时(也就是<=6) 那么走if的True的部分
#这样的好处就是不用去特地写else的部分
#如下:
if  number > 6:
  print(‘当前number大于6)
else:
  self.swipeByCount("down", 0.2, 1)
  self.swipeByCount("up", 0.2, 1)
#有的同学就会说那我写<=6不行吗
if  number <= 6:
  self.swipeByCount("down", 0.2, 1)
  self.swipeByCount("up", 0.2, 1)
#也可以这么写 但是我在定义这个函数的时候实际目的是找大于6条的评论 所以not number > 6会更清晰 看个人习惯了
def number_of_folds(self):
  '''
  判断折叠评论数量大于6:return:
  '''

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的判断可以相当灵活的做出很多处理
当然if还有很多判断方法 如元素为空 not None等等 这里就不一一举例了 能明白上面的内容 那么看其他同学的代码的时候也不难理解了~

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐