Python运算符

697 阅读2分钟

算术运算符

+, -,*, /带浮点除, %除余, **求幂, //整除。

这些运算符用在Number类型的变量上,用于对变量进行数学运算。 其中+和*还可以用于String、List、Tuple类型的运算。+的作用是合并两个变量中的内容。*的作用是将原变量中的值重复指定次数的结果。

位运算符

& 都为1时结果为1

| 一个为1时结果为1

^ 不一致时结果为1

~ 按位取反

<<左移,低位补0

>>右移,负数高位补1,正数高位补0

&, |, ^, ~, <<, >>。 这些运算符只能用在整数运算上,是将整数转换成其对应的二进制数,进行按位运算的。

关系运算符

==    等于

!=    不等于 
    
>      大于

<     小于
    
>=    大于等于

<=    小于等于

用于比较两个相同类型的变量的关系,返回的值为True或者False。

逻辑运算符

  • x and y

    • 如果x为False,则结果为False
    • 如果x为非False的假值,则返回x
    • 如果x为True或为真,则返回y的值
  • x or y

    • 如果x为True或为真的值,则返回x
    • 如果x为False或为假的值,则返回y
  • not x

    • 如果x为True或为真的值,则返回False
    • 如果x为False或为假的值,则返回True

注意:bool运算,在bool上下文中 0, '', [], {}, (), None为假值,其他均认为是真值。

赋值运算符

=
+=
-=
*=
/=
%=
**=
//=

用于将一个具体的值赋值给一个变量,除了=是直接赋值外,其他都是增量赋值。增量赋值的变量必须先直接赋值之后才可以使用增量赋值运算符。

其中+=和*=可以用于String、List、Tuple数据类型上。

代码练习1

  • 操作数字的运算符

    • 算术运算符

    • 赋值运算符

    • 关系运算符

    • 逻辑运算符

    • 位运算

优先级: ()+算术运算>>位运算>>关系运算>>逻辑运算符

1.算术运算符
+加
-减
*乘
/带小数的除法
//取整的除法
% 取余、求模
**指数

优先级:  指数>>乘、除、取余>>加、减

a=100/4     #25.0   float
a=100//4    #25     int
a=10//4     #2      int   舍弃小数部分  怎么实现 3.1415925 -> 3.14
print(a) 
print(type(a))  

print(3.1415926*100//1.0/100)

表达式:数据(变量)和运算符按照语法结合起来的

a=11%4      #2(商)...3(余数)
a=5**2      #5^2=25
print(a)    #3

a=3+2*2**3      #19
print(a)  

2.赋值运算
+=
-=
/=
//=
%=
*=
**=

a=2
a+=4    #相当于a=a+4
a**=4
print(a)  #16

3.关系运算符    
运算的结果是布尔类型
>   大于
<   小于
==  相等
!=  不相等
>=  大于或等于
<=  小于或等于

b = 10>=6
print(b)
print(type(b))   

b = 10>6+10
b=(10>6)+10   # True=1   False=0
print(b)  

4.逻辑运算符    
对布尔类型的值进行的运算
and   与   都为True,结果是True ,否则是False
or    或   都为False 结果是False  否则是True 
not   取反  True->False   False->True

b = 10>6 and False
b = 10>6 or False
b = 10<6 or False  
b = not 10<6 
print(b) 

5.位运算   
整数->二进制
&   位与    都为1 结果是1 否则是0
|   位或    都为0 结果是0 否则是1
~   位取反  1->0  0->1    
^   异或    相同结果是0 不同结果是1

b = 4 & 7    #    100  & 111
b = 4|7      #   
b = ~4
b = 5+2&6
b = 5>2&6
print(b)