python学习--运算符详解

一、简介

1.python 运算符分为

 2.运算优先级

  

**                        指数 (最高优先级)
~  +   -                 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
*  /   %   //             乘,除,取模和取整除
+   -                     加法减法
>>    <<                  右移,左移运算符
&                         位 'AND'
^   |                     位运算符
<=     < >    >=          比较运算符
<>   ==     !=            等于运算符
=    %=   /=   //=   -=   +=   *=   **=    赋值运算符
is      is not            身份运算符
in     not in             成员运算符
not    and     or         逻辑运算符                    

3.实例详解

'''
位运算符 : 按照二进制的每位上的数值进行运算
位运算符: & | ^  ~   <<  >> 
'''
print(True & True)
# 按位& 将10进制数转化为二进制  然后按二进制每位运算   1 1 为  1 其余都是0  
print('2:',bin(2)) 
print('8:',bin(8))
#2  0010
#8  1000
#10 1010
#0  0000
print(2&8)

print(10&8)

#|  按位或     只要有1 就为1
#10 01010
#20 10100
#   11110 2+4+8+16
print(10|20)

#^异或符  不同为1 相同为0
#10 01010
#20 10100
print(10^20)
#8  01000
#28 11100
#20 10100
print(8^28)

# ~去反 0为1 1为0
#001
#110
#4  0100  
#  1011 -5
#  -8 +2
# print(bin(-5))
print(~1)
#  0101
#    1010
print(bin(~5))

#010000
#101111  -32 +8+4+2+1
print(~16)


#左移 被移动的数<<移动位数   右移 被移动的数>>移动位数 

#1010
#左移  1010000
print(10<<3)
#1010
#右移  0001
print(10>>3)
#2^3 
#010
#1000
print(2<<2)

''' 
------------------------------------------------------------
逻辑运算符
bool and bool  , bool or bool ,  not bool
'''

a=20; b=30
fl=a>10 and b<50

print(fl)

print(a>50 or b>10)
print(a>10 or b<50)

print(not a>10)


print(not a>30 and b>10)

print(a>20 and a<30 or a<50 )

#逻辑运算符优先级  not and or 
print(a<=20 and (a<30 or a<50) )


'''
---------------------------------------------------------------
运算符扩展
'''
a=2
b=2.0
print(a is b)
print(a==b)

print("--------------------------------------------------------------------")
a=0
b=0
a=1010888800
b=1010888800
print(a is b)
print(2**8)

#2^8    
print(2**64)
a=18446744073709551618
b=18446744073709551618
print(a is b )

运行结果:

E:\python_VS_code\directory[目录]>D://py3.6//python.exe e:/python_VS_code/directory[目录]/demo0731/py_typeid.py
True
2: 0b10
8: 0b1000
0
8
30
30
20
-2
-0b110
-17
80
1
8
True
True
True
False
True
True
True
False
True
--------------------------------------------------------------------
True
256
18446744073709551616
True

注: 运算符中:(取反运算:取何数,数字为负并减一

在命令行> 两个整数大于28,也就是二的八次方,' is ' 为 Flase  ,  ' == ' 为 True

在脚本文件中> 数字无论多大,都为True

is 指向 内存地址

   == 指向 变量值

posted @ 2018-08-01 20:30  差不多努力python之路  阅读(617)  评论(0编辑  收藏  举报