位置:首页 > Python 运算符 - 从0到1掌握Python >

Python 运算符 - 从0到1掌握Python

作者:小牛君|发布时间:2017-06-16

小牛学堂的课程大纲最近进行了再一次升级,并且同时推出Java大数据平台开发班、Python爬虫与数据挖掘班、Spark项目班、Spark大神班、机器学习算法实战班、BI数据分析实战班, 目前这类人群凤毛麟角,导致这个行业的平均薪资极高,为此小牛学堂集合了行业的诸多大牛开设对应班级,为想学习的同学提供机会!
如果想了解详细情况,请联系 今日值班讲师 或者直接加入千人QQ群进行咨询:Spark大数据交流学习群613807316

以下是本文正文:


1.1.  Python 运算符

Python算术运算符

以下假设变量: a=10,b=20:

运算符

描述

实例

+

加:两个对象相加

a + b 输出结果 30

-

减:得到负数或是一个数减去另一个数

a - b 输出结果 -10

*

乘:两个数相乘或是返回一个被重复若干次的字符串

a * b 输出结果 200

/

除:x除以y

b / a 输出结果 2

%

取模:返回除法的余数

b % a 输出结果 0

**

幂:返回x的y次幂

a**b 为10的20次方, 输出结果   100000000000000000000

//

取整除:返回商的整数部分

9//2 输出结果 4 ,   9.0//2.0 输出结果 4.0

 

#coding=utf-8
 
 
a = 21
 
b = 10
 
print "a=",a,"b=",b
 
print "a + b的值为:", a + b
 
print "a - b的值为:",a - b
 
print "a * b的值为:", a * b
 
print "a / b的值为:", a / b
 
print "a % b的值为:", a % b
 
print "2**3的值为:", 2**3
 
print "10//2的值为:", 10//2
 

 

结果:

a= 21 b= 10

a + b的值为: 31

a - b的值为: 11

a * b的值为: 210

a / b的值为: 2

a % b的值为: 1

2**3的值为: 8

10//2的值为: 5

 

 

Python比较运算符

以下假设变量a为10,变量b为20:

运算符

描述

实例

==

等于 - 比较对象是否相等

(a == b) 返回 False。

!=

不等于 - 比较两个对象是否不相等

(a != b) 返回 true.

<> 

不等于 - 比较两个对象是否不相等

(a <> b) 返回 true。这个运算符类似 != 。

大于 - 返回x是否大于y

(a > b) 返回 False。

小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。

(a < b) 返回 true。

>=

大于等于 - 返回x是否大于等于y。

(a >= b) 返回 False。

<=

小于等于 - 返回x是否小于等于y。

(a <= b) 返回 true。

例:

# coding=utf-8
 
 
a = 21
 
b = 10
 
print "a=", a, ",b=", b
 
if (a == b):
   
print "1 - a 等于 b"
 
else:
   
print "1 - a 不等于 b"
 
 
if (a != b):
   
print "2 - a 不等于 b"
 
else:
   
print "2 - a 等于 b"
 
 
if (a <> b):
   
print "3 - a 不等于 b"
 
else:
   
print "3 - a 等于 b"
 
 
if (a < b):
   
print "4 - a 小于 b"
 
else:
   
print "4 - a 大于等于 b"
 
 
if (a > b):
   
print "5 - a 大于 b"
 
else:
   
print "5 - a 小于等于 b"
 
 
# 修改变量 a 和 b 的值
 
a,b = 5,20
 
print "a=", a, ",b=", b
 
if (a <= b):
   
print "6 - a 小于等于 b"
 
else:
   
print "6 - a 大于  b"
 
 
if (b >= a):
   
print "7 - b 大于等于 a"
 
else:
   
print "7 - b 小于 a"
 

 

结果:

a= 21 ,b= 10

1 - a 不等于 b

2 - a 不等于 b

3 - a 不等于 b

4 - a 大于等于 b

5 - a 大于 b

a= 5 ,b= 20

6 - a 小于等于 b

7 - b 大于等于 a

 

 

Python位运算符

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

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

|   按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。

^   按位异或运算符:当两对应的二进位相异时,结果为1   (a ^ b)

~   按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1

<<  左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。

>>  右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数    a >> 2

 

下表中变量 a 为 60,b 为 13,二进制格式如下:

a = 0011 1100

b = 0000 1101

---------------------------

a&b = 0000 1100

a|b = 0011 1101

a^b = 0011 0001

~a  = 1100 0011

a<<2= 1111 0000

a>>2= 0000 1111

例:

def decInt2Bin(string_num):
    result=
bin(int(string_num))[2:]
   
return result.zfill(8)
 
a =
60  # 60 = 0011 1100
 
b = 13  # 13 = 0000 1101
 
print 'dec:a=',a,'bin:a=',decInt2Bin(a)
 
print 'dec:b=',a,'bin:b=',decInt2Bin(b)
 
print 'dec:a&b=',a&b,'bin:a&b=',decInt2Bin(a&b)
 
print 'dec:a|b=',a|b,'bin:a|b=',decInt2Bin(a|b)
 
print 'dec:a^b=',a^b,'bin:a^b=',decInt2Bin(a^b)
 
print 'dec:~a=',~a,bin(~a)      # -61 = 1100 0011
 
print 'dec:a<<2=',a<<2,'bin:a<<2=',decInt2Bin(a<<2)
 
print 'dec:a>>2=',a>>2,'bin:a>>2=',decInt2Bin(a>>2)
 

 

结果:

dec:a= 60 bin:a= 00111100

dec:b= 60 bin:b= 00001101

dec:a&b= 12 bin:a&b= 00001100

dec:a|b= 61 bin:a|b= 00111101

dec:a^b= 49 bin:a^b= 00110001

dec:~a= -61 -0b111101

dec:a<<2= 240 bin:a<<2= 11110000

dec:a>>2= 15 bin:a>>2= 00001111

 

Python逻辑运算符

x and y x和y都为true时,返回true,否则返回false

x or y  x和y都为false时,返回false,否则返回true

not not x   如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。

 

对于数值,python认为非0表示True,0表示False

例:

#coding=utf-8
 
 
a = 10
 
b = 20
 
 
print a and b
 
print a or b
 
# 修改变量 a 的值
 
a = 0
 
print a and b
 

 

 

 

 

Python身份运算符

身份运算符用于比较两个对象的存储单元是否引用自一个对象

运算符

描述

实例

is

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

x is y, 如果 id(x) 等于 id(y) , is返回结果 1

is not

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

x is not y, 如果 id(x) 不等于 id(y). is not 返回结果 1

 

例:

#coding=utf-8
 
 
a = 20
 
b = 20
 
print a is b
 
print id(a) is not id(b)
 
 
# 修改变量 b 的值
 
b = 30
 
print a is b
 
print id(a) is not id(b)
 

 

 



了解更多详情请联系 今日值班讲师 或者直接加入千人QQ群进行咨询:Spark大数据交流学习群613807316

分享到: