运算符与表达式

一、算术运算符与算术表达式

1、算术运算符

 假设变量 a = 10, b = 20
+  :加 两个对象相加   例如 a + b = 30
-  :减 标识负数/一个数减去另一个数  a - b = -10
*  :乘 两个数相乘/返回一个被重复若干次的字符串 a*b=200
/  : 除 b除以a  b/a = 2
%  : 取模 返回除法的余数  b%a = 0
** :幂,返回x的y次幂  a**b=10^20
// : 取整 返回商的整数部分  9//2=4, 9.0//2.0=4.0

被除数 除以  除数  =... 余数

2、算术运算表达式

3+2  3-1  8**9  5%3
功能:进行相关符号的数学运算,不会改变变量的值
值:相关的数学运算的结果

二、比较运算符

== 等于,比较对象是否相等,返回布尔类型的值

>>> a = 10
>>> b = 20
>>> print(a == b)
False

!= 不等于,比较对象是否不相等

>>> a = 10
>>> b = 20
>>> print(a != b)
True

大于,x > y,返回x是否大于y

>>> a = 10
>>> b = 20
>>> print(a > b)
False

< 小于,x < y,返回x是否小于y

>>> a = 10
>>> b = 20
>>> print(a < b)
True

‘>=’ 大于等于,x >= y,返回x是否大于等于y

>>> a = 10
>>> b = 20
>>> print(a >= b)
False

<= 小于等于,x <= y,返回x是否小于等于y

>>> a = 10
>>> b = 20
>>> print(a <= b)
True

比较的结果,返回的是bool,只有True或者False.

三、赋值运算符与赋值运算表达式

赋值运算符 =
赋值运算表达式
格式:变量 = 表达式

功能:计算了等号右侧的“表达式”的值,并赋值给等号左侧的变量
值:赋值结束之后的变量

num1 = 10
num2 = num1 + 2

复合运算符

+=  加法赋值运算符		a += b   a = a + b
-=  减法赋值运算符		a -= b   a = a - b
*=  乘法赋值运算符		a *= b   a = a * b
/=  除法赋值运算符		a /= b   a = a / b
%=  取模赋值运算符		a %= b   a = a % b
**= 幂赋值运算符		 a **= b  a = a ** b
//= 取整除赋值运算符	a //= b  a = a // b

四、逻辑运算符

and运算是与运算,只有所有都为True,and运算的结果才是True

>>> True and True
True
>>> True and False
False
>>> 5>3 and 3>1
True

or运算是或运算,只要其中一个为True,or运算结果就是True

>>>True or True
True
>>>True or False
True
>>>False or False
False

not 运算是非运算,它是一个单目运算符,把True变成False,False变成True

>>> not True
False
>>> not False
True
>>> not 1>2
True

短路原则

表达式1 and 表达式2 and 表达式3 … 如果表达式1为假,则整个表达式的值为假,后面的表达式则没有计算的必要

表达式1 or 表达式2 or 表达式3 … 如果表达式1为真,则整个表达式的值为真,后面的表达式的值就没有计算的必要

五、位运算符

我们进行位运算的时候,我们需要把数值转换为二进制数来进行计算
&   按位与
|   按位或
^	按位异或
~	按位取反
<<	左移
>>	右移

1.与运算【&】

参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0

3 & 2 = 2

0 1 1
0 1 0
------
0 1 0

2.按位或【|】

只要对应的两个二进位有一个为1时,结果位就为1

3 | 2 = 3

0 1 1
0 1 0
-----
0 1 1

3.按位异或【^】

当两对应的二进位相异时,结果为1

3 ^ 2 = 1
0 1 1
0 1 0
-----
0 0 1

4.按位取反【~】

对数据的每个二进制位取反,即把1变为0,把0变为1

~3 = -4
0000 0011
----------
1111 1100  补码=1111 1011 反码=》原码
1000 0100  -4

5.左移运算符【<<】

运算数的各二进位全部左移若干位,由”<<”右边的数指定移动的位数,低位补0

注意:向左移动,右边空出来的补0,左移其实就是乘以2的位数次幂

3 << 2 = 12 = 3 * 2^2 

	0 1 1
	------
0 1 1 0 0

6.右移运算符【>>】

把”>>”左边的运算数的各二进位全部右移若干位,”>>”右边的数指定移动的位数

注意:如果最高位0,右移后,用0补空位,如果最高位1,右移后,用1补空位,右移其实就是除以2的位数次幂。

3 >> 2 = 0 = 3//(2^2) 
0 1 1
-----
0 0 0 1 1

-4 >> 2 = -1
1 0 0 0  0 1 0 0
=》补码运算=》原码

六、成员运算符

in:如果在指定的序列中找到返回值True,否则返回False

>>>a = 10
>>>list1 = [1, 2, 4, 5]
>>>list2 =[20, 10, 15]
>>>print(a in list1)
False
>>>print(a in list2)
True

not in:如果在指定的序列中没有找到值返回True,否则返回False

>>>a = 10
>>>list = [1, 2, 4, 5]
>>>list2 =[20, 10, 15]
>>>print(a not in list)
True
>>>print(a not in list2)
False

七、身份运算符

is:is判断两个标识符是不是引用自一个对象

>>> a = 1000
>>> b = a
>>> print( a is b)
True

is not:判断两个标识符是不是引用自不同的对象

>>>a =1000
>>>b = 1000
>>>print(a is not b)
False

注意:在[-5, 257)的整数取值范围内,python的内部具有缓存机制,因此在比较这个数值以内的数据可能就会有些问题。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值