条件、循环和其他语句学习1

1、bool值

假:False、None、所有的数字类型0(包含浮点型、长整型和其他类型)、''、[]、()等空的序列都为假,空的字典{}也是假

真:除去假的都当做真

bool函数可以将其他类型值转换成bool值

>>> bool(0.00)
False
>>> bool(1.23)
True

>>> bool('string')
True

2、条件比较运算符,比较运算符不适用不同类型(不同类型不可做比较会报错)

 

3、相等运算符==,判断左右两边内容是否一致,包括值和类型

 

>>> x = y =[1,2,3]
>>> z = [1,2,3]

>>> x == y
True
>>> z == x
True

4、is 同一性运算符 判断的是变量指向的内容和位置是否一致,就是判断左右两边是否是同一个对象

 

>>> x = y =[1,2,3]
>>> z = [1,2,3] ###z是一个跟x和y指向的位置的内容相同,但是内存中的位置不同 所以z is x返回False
>>> x is y
True
>>> z is x
False

 

实例:

>>> x = [1,2,3]
>>> y = [2,4]
>>> x is not y
True
>>> del x[2]
>>> y[1] = 1
>>> y.reverse()
>>> x == y  ###判断同类型变量的内容相等性
True
>>> x is y ###判断变量的同一性
False

5、bool运算符 and、or、not ,布尔运算符也成为条件运算符,是短逻辑运算(只有在需要求值时才进行运算

 

>>> a = 1
>>> b = 2
>>> a and b ###因为是and运算所以如果a是true 则需要进行b的运算,然后返回b的值;如果a是false,则返回a的值,不会再去运算b的值
2

>>> a = 0
>>> a and b ####因为是and运算,如果a是false,则返回a的值,不会再去运算b的值
0

### 如果是OR运算的话,如果第一个条件的值为true,则返回第一个条件的值,第二个条件不会运算;如果第一为false,则运行第二个的值,返回第二个的值

>>> name = input('please enter your name:') or '<unknown>'
please enter your name: ###没有输入值,直接回车,返回'<unknown>'给name
>>> name
'<unknown>'

###内置条件语句 a if b else c:b为真返回a ,否则返回b

>>> input('please enter your name:') if input('please enter your name:') else '<unknown>'
please enter your name:
'<unknown>'

 

not 是对条件的bool值取反

>>> a = 0

 

>>> not a
True

6、断言assert,条件成立则不返回,条件不成立则返回AssertError,提示内容可以自己指定

 

>>> a =10
>>> assert a<=10 and a>0

>>> assert 0<a<=10,'the age is listic'####条件不成立时返回自己的指定提示'the age is listic'
Traceback (most recent call last):
File "<pyshell#183>", line 1, in <module>
assert 0<a<=10,'the age is listic'
AssertionError: the age is listic

 

posted @ 2019-05-11 19:10  没尾巴的熊  阅读(163)  评论(0编辑  收藏  举报