来聊聊Python运算符吧

219 阅读2分钟

Python运算符

算术运算符

+, -,, /带浮点除, %, **求幂, //整除。 这些运算符用在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、运算符例题:

# 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)  

\