概述
第5章 变量与运算符
- 逻辑运算符
- 成员运算符
- 身份运算符
- 位运算符(把数字当做二进制数进行运算)
int str tuple(不可改变)值类型
list set dict(可变)引用类型
>>>a = (1, 2, 3, [1, 2, 4])
>>>a [3][2]
4
>>>2**5 (表示次方)
32
>>>-3**2
-9
>>>(-3)**2
9
幂运算符比取反的优先级要高
>>>b = 2
>>>a = 3
>>>b += a
>>>print(b)
5
>>>b -= a
>>>print(b)
2
>>>b = 1
>>>b += b >= 1
>>>print(b)
2
字符串、列表、元组做比较运算,每个元素分别比较。
逻辑运算符
int float:0被认为是False,非0表示True
字符串:空值False,否则是True
[ ] 空的列表False
-
与运算:只有两个布尔值都为 True 时,计算结果才为 True。
-
或运算:只要有一个布尔值为 True,计算结果就是 True。
-
非运算:把True变为False,或者把False变为True:
布尔运算在计算机中用来做条件判断,根据计算结果为True或者False,计算机可以自动执行不同的后续代码。
在Python中,布尔类型还可以与其他数据类型做and、or和not运算,请看下面的代码:
a = True
print a and 'a=T' or 'a=F'
计算结果不是布尔类型,而是字符串’a=T’,这是为什么呢?
因为Python把0、空字符串’'和None看成False,其他数值和非空字符串都看成True,所以:
True and ‘a=T’ 计算结果是 ‘a=T’
继续计算 ‘a=T’ or ‘a=F’ 计算结果还是 ‘a=T’
-
要解释上述结果,又涉及到 and 和 or 运算的一条重要法则:短路计算。
1.在计算a and b时,如果a是False,则根据与运算法则,整个结果必定为False,因此返回a;如果a是True,则整个计算结果必定取决与b,因此返回b。
2.在计算a or b时,如果a是 True,则根据或运算法则,整个计算结果必定为True,因此返回a;如果a是False,则整个计算结果必定取决于b,因此返回 b。所以Python解释器在做布尔运算时,只要能提前确定计算结果,它就不会往后算了,直接返回结果。
成员运算符
>>> a = 1 , 要判断 a 是否在列表[1,2,3,4,5]中
>>>a in [1,2,3,4,5]
>True
>>> b = 'h'
>>>b in 'hello'
>True
字典的成员运算:针对key不针对value
>>> b = 'a'
>>> b in {'c': 1}
>False
>>> b = 1
>>> b in {'c': 1}
>False
>>> b = 'c'
>>> b in {'c': 1}
>True
身份运算符
返回值也是布尔值
如果两个变量取值相等,则is返回True。注意与==的区别
关系运算符比较的是值是否相等,
is不是比较值,比较的是两个变量的身份是否相等。(比较内存地址)
>>> a = 1
>>> b = 1.0
>>> a == b
>True
>>> a is b
>False
>>> a = {1,2,3}
>>> b = {2,1,3}
>>> a ==b a is b
> True False
>>> c = (1,2,3)
>>> d = (2,1,3)
>>> c == d c is d
> False False
a == b 值的判断
a is b id身份判断
类型 type 判断
对象的三个特征 (id、value、type) 一切都是对象
>>> a = 'hello'
>>> type(a) == int
>False
>>> type(a) == str
>True
>>> isinstance(a, str) (判断类型的函数)
>True
>>> isinstance(a, int)
>False
>>>isinstance(a, (int, str, float))
>True
位运算符(把数字当做二进制数进行运算)
& (按位与) |(按位或) ^(按位异或) ~(按位取反) <<(左移动) >>(右移动)
按位与 &
>>> a = 2
>>> b = 3
>>> a & b a(转成二进制数) → 10 b → 11
>2
按位或 |
>>> a = 2
>>> b = 3
>>> a | b
>3
最后
以上就是怕孤单饼干为你收集整理的Python学习笔记-3的全部内容,希望文章能够帮你解决Python学习笔记-3所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复