Python_算术运算符

Python_算术运算符

两个数字相加

sumNumber=1+2
print(sumNumber)      
>>> 3

两个字符串相加

sumString="Nice work"
print(sumString)      
>>> Nice work

两个数字相减

subNumber=2-1
print(subNumber)      
>>> 1

两个数字相乘或者

multiplicationNumber=2*3
print(multiplicationNumber)      
>>> 6

字符串重复

multiplicationString="hello"*2
print(multiplicationString)      
>>> hellohello

两个数相除

divisionNumber=9/2
print(divisionNumber)     
>>> 4

divisionNumber=9.0/2
print(divisionNumber)     
>>> 4.5

divisionNumber=9/2.0
print(divisionNumber)      
>>> 4.5
# 除数或被除数中有任意一个是小数的话,商也会保留小数,反之取整

求幂运算

powerNumber=2**3 
# 相当于2的3次幂
print (powerNumber)
>>> 8

小于符号,返回值是bool值

lessThan=1<2
print(lessThan) 
>>> True

lessThan=1<1
print(lessThan) 
>>> False

大于符号,返回值是bool值

moreThan=2>1
print(moreThan)       
>>> True

moreThan=2>2
print(moreThan) 
>>> False

不等于符号 返回值是Bool值

notEqual=1!=2
print(notEqual) 
>>> True

notEqual=1!=1
print(notEqual)
>>> False

除法运算// 返回商的整数部分,抛弃余数

divisorNumber=10//3
print(divisorNumber)
>>> 3

除法运算% 返回商的余数部分,抛弃商

divisorNumber=10%3
print(divisorNumber)
>>> 1

divisorNumber=10%1
print(divisorNumber)
>>> 0 
# 没有余数则返回0

a=10//3         
#a是商的整数部分
b=10%3        
#b是余数
c=3*a+b   
#c是除数乘以商的整数部分加上余数,得到的c的值就是被除数
print(divisorNumberz)
>>> 10

按位与运算&,按位与是指一个数字转化为二进制,然后这些二进制的数按位来进行与运算

operationNumber=7&18
print operationNumber 
>>> 2

‘’’ 这个有点绕,稍微多说下,如果对二进制不是太熟的朋友,可以打开电脑自带的计算器,按住win+q,输入"calculator"。
然后在打开的计算器设置成程序员模式, 就是View(查看)->>programmer(程序员).
然后我们将7转为二进制:111,自动补全8位:00000111,然后将18转为二进制补全8位后得到:00010010 最后将
00000111 跟 00010010 按位进行与运算, /- 对与运算不熟的朋友可以看看百度百科的介绍,还是很详细的。
http://baike.baidu.com/link?url=lfGJREBvGCY5j7VdF2OO9n2mtIbSyNUD7lZyyY74QIetguL5lXIQUxY38Yr-p4z4WdUvHUKGjw9CDfagiun2Ea
-/ 得到结果:00000010 我们都知道10二进制→十进制=2,所以7跟18的按位与的结果是二进制10(十进制2) ‘’’

按位或运算|, 按位或是指一个数字转化为二进制,然后这些二进制的数按位来进行或运算

operationNumber=7|18
print operationNumber
>>> 23   
# 结题思路和按位与运算的一样,可以参考按位与运算

按位异或

operationNumber=7^18
print operationNumber 
>>> 21   
# 结题思路和按位与运算的一样,可以参考按位与运算

按位翻转 ~ 按位翻转公式: ~x= - (x+1)

operationNumber=~12  
# ~12=- (12+1) = -13
print operationNumber
>>> -13   
# 结题思路和按位与运算的一样,可以参考按位与运算

左移<<

‘’’ 比如18左移就是将他的二进制形式00100100左移,得到00100100(36)。
左移规律:左移一个单位相当于乘2,左移两个单位相当于乘以4,左移三个单位相当于乘以8, 即: 左移n个单位相当于乘以2的n次幂
‘’’

operationNumber=12<<1
print operationNumber 
>>> 24

operationNumber=3<<3
print operationNumber 
>>> 24

右移>>

‘’’ 理解左移以后,右移就很好理解了。 右移是左移的逆运算,将对应的二进制数向右移动。
右移规律:右移一个单位相当于除以2,右移两个单位相当于除以4,右移三个单位相当于除以8, 即: 右移n个单位相当于除以2的n次幂
‘’’

operationNumber=12>>1
print operationNumber 
>>> 6

operationNumber=12>>2
print operationNumber
>>> 3

小于等于<= 比较运算,小于或等于返回一个bool值

operationNumber=3<=3
print operationNumber
>>> True

operationNumber=3<=2
print operationNumber
>>> False

大于等于>= 比较运算,大于或等于返回一个bool值

operationNumber=2>=3
print operationNumber
>>> False

operationNumber=3>=2
print operationNumber 
>>> True

比较两个对象是否相等==

operationNumber=(3==2)
 print operationNumber 
>>> False

operationString=("hi"=="hi")
print operationString
>>> True

逻辑非 not

operationx=True
operationy=not operationx
print operationy 
>>> False

operationz=False
print not operationz
>>> True

逻辑与 and

True and True = True
True and False = False
False and True = False
False and False = False

print (True and True)
>>> True

逻辑或 or

True or True = True
True or False = True
False or True = True
False or False = False

print (False or False)
>>> False

python运算符优先级
1.python运算符优先级排行榜:

#以下优先级排名从高到低,在同一运算中,先执行优先级高的再执行低的,以此类推。

Top 1:函数调用、寻址、下标
 
Top 2:幂运算**
priorityNumber=2*2**3
print priorityNumber
>>> 16
 
Top 3:翻转运算~
 
Top 4:正负号
print 1+2*-3 
>>> -5
 
Top 5:*、/、%
print 2+1*2/5
>>> 2
 
Top 6:+、-
print 3<<2+1
>>> 24
 
Top 7:<<、>>
 
Top 8:按位&、^、|
 
Top 9:比较运算符
priority=2*3+2<=2+1*7
print priority
>>> True
 
Top 10:逻辑的not and or
 
Top 11:lambda表达式

2.python运算符优先级使用规律:

1、一般情况下是左结合的,在没有更高优先级运算符,即只有同级运算符时时从左到右结合

print 1+2+3*5+5
>>> 23

2、出现赋值的时候一般是右结合,:在有赋值运算符时,是右结合,即先算出1+2的值以后再赋值给priority

priority=1+2
print priority 
>>> 23

3.python运算符优先级大招:

‘’‘比如说有这个需求:
去商店买水,买3瓶水,每瓶5块,再买一个绿箭(假设绿箭3块),总共多少钱? 这个简单的应用非常明显,需要先用乘法再用加法,如果这里你忘记了乘法和加法的优先级,可以这样:使用括号() ‘’’

print (3*5)+3 
>>> 18

Python表达式

python中,值、变量和运算符共同组成的整体称为表达式:
字符串表达式 “Hello”
计算表达式 2+3
赋值表达式 first=0
变量表达式 first
值表达式
等等。。。