Python学习笔记 - 运算符

运算符

1 赋值运算符

#python中"="为赋值运算符
>>>a = 1
#理解为将1赋值给a 而不是定义变量a,由于python中的变量是不需要定义的
  1. 比较运算符

3.逻辑运算符

Python逻辑运算符的特性

  • 与(and)、或(or)、非(not)
  • python中直接使用单词作为逻辑运算符,因此很接近自然语言
  • 逻辑运算符操作的是布尔值,因此结果也是布尔值
#and 两端的值都为True时结果为True
>>>True and True
True
>>>True and False
False

#or 两端有一个为True时结果为True
>>>True or False
True
>>>False or False
False

#not 如果值为True结果为False反之亦然
>>>not True
False
>>>not False
True

非布尔值的逻辑运算

#在Python中非布尔值会通过一定的方式转化成布尔值进行比较
#int,float 进行逻辑运算时0表示为False,非0表示为True
#str 进行逻辑运算时''空字符串表示False,非空字符串表示True
#列表 元组 集合 字典也是空的表示False,非空表示True
>>>1 and 2
1
>>>0 and 1
0
>>>'a' and 'b'
'b'
>>>'' and 'a'
''
#综上结果 在非布尔值进行与运算时, 根据比较顺序返回值.例如"0 and 1"当对比到0时判断结果为False所以返回0,例如"1 and 2" 时需要判断到and右边的值时才能确定结果为True故返回2
#所以在非布尔值进行逻辑运算时返回值为确定表达式结果的那个值
  1. 成员运算符

in 和 not in 成员运算符的特点

  • 成员运算符是用来判断一个元素是否在另外一组元素里
  • 成员运算符的结果仍然是布尔值
>>> b = 'a'
>>> b in {'a','b'}
True
>>> b in {'b':'a'}
False
>>> b = 'b'
>>> b in {'b':'a'}
True
#综上代码在字典中判断一个元素是否在字典中判断的是字典的键而不是值
  1. 身份运算符~
# is 和 is not 是Python中的身份运算符
>>> a = 1
>>> b = 1.0
>>> a is b
False
>>> a == b
True
#"=="号表示的比较两个变量的值是否相等,而is比较的是身份即内存地址是否相同

>>> a = [1]
>>> b = [1]
>>> a == b
True
>>> a is b
False
>>> a = (1)
>>> b = (1)
>>> a = b
True
>>> a is b
True
#由于列表是可变类型所以当将[1]赋值给b变量时是重新将一个[1]列表赋值给b变量所以a 和 b 的地址不同,而元组是不可变得所以把(1)赋值给a b变量是同一个元组

​ 判断一个值时不是某种类型

#isinstance(值,数据类型或者一个元组)返回一个布尔值
>>> a = 1
>>> isinstance(a,(int,str,float)
True

对象的三个特征

​ id、value、type

​ is、==、isinstance

  1. 位运算符

Python中的位运算符是: &(按位与)、|(按位或)、^(按位异或)、~(按位取反) 、<<(按位左移)、 >>(按位右移)

>>> a = 2
>>> b = 3
>>> a & b
2
#位运算是二进制之间的运算如果是其非二进制数进行位运算是将其转化为二进制进行计算的
如上进行位运算的过程是:
十进制的2:                   1  0
十进制的3:                   1  1
结果每一位分别进行与运算结果2:1  0

添加新评论