控制语句1:真假与if 语句

时间:2022-09-08 17:08:41

一、真假与运算符

1.1 真假的划分、查看

  任何数据都可以分为两类:True 与 False

      False : 0,None,空的数据结构例如:[] ,{},str1 = ''

      True  :除了上面情况都是真的。

  我们可以用  bool 来查看是否为真。

>>> str1 = '' >>> bool(str1) False >>> str1 = ' ' >>> bool(str1) True  >>> li = [] >>> bool(li) False

1.2 比较运算

  a = True

  b = False

控制语句1:真假与if 语句

1.3 逻辑运算符

  and: 判断and前后是不是真,

        真的话,返回最后一个真。

        假的话,返回第一个假。 如果第一个就遇到假了,后面就不计算了。

    or   :判断or前后有没有真的值

        遇到第一个真,就直接返回,后面就不去计算了

        否则一直计算到最后。

  not  :等同与!=

        如果真,则变为假

        如果假,则变为真

================================

小列子: and 与 or的优先级。

 and 优先 or

x = 1 y = 0 z = 0 x or y and z # (x or y) and z #

 

1.4  身份运算符  is 与 ==的区别

  is   比较的变量的id,也就是是否指向同一内存。  (id是内存引用的指针)

  == 比较的是变量的值

这里有个地方要说明下,python 对数字的存储,在数值比较小的时候,引用的内存是一致的,id相同,

                     在数值变大的时候,内存就又不一致了。id不同

控制语句1:真假与if 语句

 

二、 if 语句 

2.1 基本格式:

  可支持多个elif,注意if是从上而下执行,当有上面满足的时候,下面的if 组合就不会去执行了。

  if    条件:pass

  elif  条件:pass

  elif  条件:pass

  elsepass

 

2.2 扩展组合

与 in组合

a = 5 li_num = [1, 2, 3, 4, 5, 6] if a in li_num: print('has a') else: print('not a')

与 in and 组合

a = 5 b = 1 li_num = [1, 2, 3, 4, 5, 6] if a in li_num and b in li_num: print('都在') else: print('可能在一个,可能一个都没有')

与any组合

li_num = [1,2,3,4,5]
if
any(x > 3 for x in li_num): # any后面是一个可迭代的对象,这个对象中有一个为真,则为真。 print('ok') else: print('no')
结果:ok

与all组合

li_num = [1,2,3,4,5] if all(x > 3 for x in li_num): # all后面是一个可迭代的对象,这个对象中全为真,则为真。 有一个假,就是假 print('ok') else: print('no')
结果:no