python语言条件控制语句_初学者Python学习笔记--条件控制语句1

什么是条件控制语句?

写代码的时候需要对一些场景进行判断,根据判定结果去做对应的事情。条件控制语句就是通过一条或多条语句的执行结果(True或者False)来决定执行后续的代码。

为什么要用条件控制语句?

通过条件控制,可以帮助你的代码去判定应该做什么。让对的代码做对的事情,达到自己想要的目的。通过判定,可让目标更加明确,减少不必要的错误。

怎么使用条件判断?

条件判断的流程简单来说可以看下图

Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。

先来看看哪一句是真的,怎么判断?

真假判断1

# and or not 用这3个来判断和、或、非

>>> a = 0

>>> b = 1

>>> c = 2

# and

>>> b and c # 判断and两端是不是都是真,都是真的话返回最后一个真的值,否则返回第一个假的值。

2

>>> c and b # 这里b和c 都是非0非空,所以都是真的,返回的就是后面的那个值。

1

>>> a and b # a的值是0,所以为假。在and判断中有假的话会返回第一个假的值。

0

# or

>>> b or c # 判断or两侧有没有真,遇到真的值就返回,不在继续向后判断,否则到最后,返回最后的值。

1

>>> c or b

2

>>> a or b or c # a为假,继续向后判断。所以返回第一个为真的b。

1

# not

>>> not a # not判断条件是否为假,这里a=0,是假的,所以返回True。

True

>>> not b # b不是假的,所以返回False。

False

>>> not c

False

# 大小判断 <>

>>> a < b < c # 0 < 1 < 2,可以看成 a<0 and b

True

>>> a < b and b < c

True

# 等于、不等于判断 ==,!=

>>> a == b

False

>>> a != b

True

>>> a != a

False

>>> c >= b # 大于等于

True

# 快速判定真假

>>> bool(a)

False

>>> bool(b)

True

>>> bool() # 什么都没有,就是空,所以判定是假

False

# 其他一些判断示例

>>> 1 and True

True

>>> 0 and True

0

>>> False and 0

False

>>> False and 1

False

>>> None == True

False

>>> None == False

False

真假判断2

is和==可以来判断两端是否相等,那区别在哪儿呢?

>>> a = 1

>>> b = a

>>> c = 1

>>> a is b

True

>>> a == b

True

>>> a is c

True

>>> a == c

True

# 这样使用,看上去没有区别。

>>> id(a),id(b),id(c) # id()可以查看对象在内存中的标识,这里看到,abc是一样的。

(8791044563344, 8791044563344, 8791044563344)

>>> d = 999

>>> e = d

>>> f = 999

>>> d == e

True

>>> d is e

True

>>> d == f

True

>>> d is f

False

>>> e is f

False

# 这里就出现不一样了!我们来看下id()

>>> id(d),id(e),id(f)

(47379152, 47379152, 47380208) # f的id不一样了!

# == 的判断是比较两端的值,两端相等的话就返回真。

# is 的判断是比较两端的id值,id值相等的话返回真。

# 为什么后面id值会不一样?这跟python的内存管理机制有关,比较复杂这里就不讲了。

# 再从列表来看看

>>> a1 = [1,2,3]

>>> b1 = a1

>>> c1 = a1[:]

>>> a1

[1, 2, 3]

>>> b1

[1, 2, 3]

>>> c1

[1, 2, 3] # 3个列表数值是一样的。

>>> a1 == b1

True

>>> a1 is b1

True

>>> a1 == c1

True

>>> a1 is c1 # 这个判断就不一样了,应该是id值不同了。

False

>>> id(a1),id(b1),id(c1) # 果然c1的id跟ab不一样

(47839176, 47839176, 47852680)

真假判断3

in 和 not in 判断,他们叫成员运算符,用来测试实例中包含了一系列的成员,包括字符串,列表或元组。

# 字符串成员判断

>>> a = 'ab'

>>> b = 'ac'

>>> c = 'abcd'

>>> a in c # 'ab'在字符串'abcd'中

True

>>> b in c # 'ac'不在字符串'abcd'中

False

>>> a = 1

>>> b = 9

>>> c = [1,2,3,4]

# 判断数字成员是否在列表中

>>> a in c

True

>>> b in c

False

>>> b not in c

True

>>> dic = {'a':1,'b':2,'c':3}

>>> 'a' in dic # 判断字典中的key成员是否存在

True

>>> 'd' in dic

False

判断的优先级

前面说过

and是判断两端是不是都是真,都是真的话返回最后一个真的值,否则返回第一个假的值。

or是判断两侧有没有真,遇到真的值就返回,不在继续向后判断,否则到最后,返回最后的值。

当他们同时出现时,谁先谁后呢?来看一下。

>>> a = True

>>> b = False

>>> c = False

>>> a or b and c

True

# 如果按照从左到右的顺序来看,or判断应该返回a的True,在跟后面and判断,应该返回False才对。这里

返回的是True,那看来应该是先去做and判断了。

>>> (a or b) and c # 验证一下,加个()让前面先做,这次从左到右了,返回了False

False

>>> a and b or c # 先and,得出False 再跟c做or,最后返回False。

False

云服务器精选秒杀 - 腾讯云​cloud.tencent.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值