Python运算符

 

Python语言支持以下类型的运算符:

  • l  算术运算符
  • l  比较运算符
  • l  赋值运算符
  • l  逻辑运算符
  • l  位运算符
  • l  成员运算符
  • l  身份运算符
  • l  运算符优先级 

Python算术运算符

/***
arithmetic.py
***/
a = 21
b = 10
c = 0

c = a + b 
print "1 - c is : ", c

c = a - b
print "2 - c is : ", c

c = a * b
print "3 - c is : ", c
 
c = a / b
print "4 - c is : ", c

c = a % b
print "5 - c is : ", c

#change the value of a,b,c
a = 2
b = 3
c = a ** b
print "6 - c is : ", c

a = 10
b = 5
c = a // b
print "7 - c is : ", c

运行结果:

robot@ubuntu:~/wangqinghe/python/20190821$ vim arithmetic.py

robot@ubuntu:~/wangqinghe/python/20190821$ python arithmetic.py

1 - c is :  31

2 - c is :  11

3 - c is :  210

4 - c is :  2

5 - c is :  1

6 - c is :  8

7 - c is :  2

 

注意:在python2.x里,整数除以整数,只能的到整数,如果想要得到小数部分,把其中一个数改为浮点数即可

 

/***
inter.py
***/
print 1/2
print 1.0/2
print 1/float(2)

运行结果:

robot@ubuntu:~/wangqinghe/python/20190821$ vim inter.py

robot@ubuntu:~/wangqinghe/python/20190821$ python inter.py

0

0.5

0.5

Python比较运算符

/***
comparsion.py
****/
a = 21
b = 10
c = 0

if a == b :
    print "a == b"
else:
    print "a no == b"

if a != b :
    print "a != b"
else:
    print "a no != b"

if a <> b :
    print "a <> b"
else :
    print "a no <> b"

if a < b :
    print "a < b"
else :
    print "a no < b"

if a > b :
    print "a > b"
else :
    print "a no > b"


a = 5
b = 20

if a <= b :
    print "a <= b"
else :
    print "a no <= b"

if b >= a :
    print "b <= a"
else :
    print "b no <= a"

运行结果:

robot@ubuntu:~/wangqinghe/python/20190821$ python comparsion.py

a no == b

a != b

a <> b

a no < b

a > b

a <= b

b <= a

 

Python赋值运算符:

/***
assignment.py
***/
a = 21
b = 10
c = 0

c = a + b
print "a + b = " , c

c += a
print "a + b = " , c

c *= a
print "a + b = " , c

c /= a
print "a + b = " , c

c = 2

c %= a
print "a + b = " , c

c ** a
print "a + b = " , c

c //= a
print "a + b = " , c

运行结果:

robot@ubuntu:~/wangqinghe/python/20190821$ python assignment.py

a + b =  31

a + b =  52

a + b =  1092

a + b =  52

a + b =  2

a + b =  2

a + b =  0

 

Python位运算符

 Python逻辑运算符

按位运算符把数字看作二进制进行计算的。python中按位运算法则如下:

/***
bit.py
***/
a = 60
b = 13

print a,b
print a & b
print a | b
print a ^ b
print ~a
print a << 2
print b >> 2

运行结果:

robot@ubuntu:~/wangqinghe/python/20190821$ python bit.py

60 13

12

61

49

-61

240

3

 Python逻辑运算符

/***
bool.py
***/
a = 10 
b = 20

if a and b :
    print "a and b is true"
else :
    print "a and b is not true"

if a or b :
    print "a or b is true"
else :
    print "a or b not true"

a = 0

if a and b :
    print "a and b is true"
else :
    print "a and b is not true"

if a or b :
    print "a or b is true"
else :
    print "a or b not true"

if not(a and b) :
    print "a and b all true"
else :
    print "a and b not all true"

运行结果:

robot@ubuntu:~/wangqinghe/python/20190821$ python bool.py

a and b is true

a or b is true

a and b is not true

a or b is true

a and b all true

 

Python成员运算符

/***
member.py
***/
a = 10
b = 20
list = [1,2,3,4,5];

if ( a in list ) :
    print "a in list"
else :
    print "b not in list"

if(b not in list):
    print "b not in list"
else :
    print "b on list"

a = 2
if ( a in list ) :
    print "a in list"
else :
    print "b not in list"

运行结果:

robot@ubuntu:~/wangqinghe/python/20190821$ python member.py

b not in list

b not in list

a in list

 

Python身份运算符:

身份运算符用于比较两个对象的存储单元

注:id()函数用于获取对象内存地址

/***
id.py
***/
a = 20
b = 20

if( a is b):
    print "a and b are equal id"
else:
    print "a and b are not equal id"

if ( a is not b):
    print "a is not b"
else:
    print "a is b"

b = 30
if( a is b):
    print "a and b are equal id"
else:
    print "a and b are not equal id"

if ( a is not b):
    print "a is not b"
else:
    print "a is b"

运行结果:

robot@ubuntu:~/wangqinghe/python/20190821$ python id.py

a and b are equal id

a is b

a and b are not equal id

a is not b

 

is 和 == 的区别:

is是用于判断两个变量引用对象是否是同一个(同一块内存空间),==用于判断引用变量的值是否相同。

 

Python运算符优先级

运算符

描述

**

指数(最高优先级)

~、+、

按位反转、一元加号、和减号(最后两个的方法名位+@和-@)

*/%//

乘、除、取模、取整除

+-

加法减法

>> <<

右移、左移

&

与运算

^|

异或、或

<= 、 <、> 、 >=

比较运算符

<> 、 == 、 !=

等于运算符

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

赋值运算符

is  is not

身份运算符

in not in

成员运算符

not and or

逻辑运算符

posted @ 2019-08-21 12:21  王清河  阅读(294)  评论(0编辑  收藏  举报