运算符 operators


1、什么是运算符 2、运算符有哪些 3、运算符的使用方法


在Python中,对一个或多个数字或者一个或多个字符串进行运算操作。、


+、-、*、/、**(幂运算)、<、>、!=(不等于)、//(求一个商的整数部分)、%(求一个商的余数部分)、&(按位与)、^(按位非)、|(按位或)、~(按位反转)、>>(按位右移)、<<(按位左移)、<=、>=、==(等于)、not(逻辑非)、and(逻辑与)、or(逻辑或)


#-*-coding:utf-8-*-
__author__ = 'allen'

"+":两个对象相加
两个数字相加
a=7+8

两个字符串相加
b="GOOD"+" JOB!"

"-"(负号):取一个数字的相反数或者实现两个数字相减
a=-7
b=-(-8)                 #这也需要讲,好吧,可能某些计算机语言减号不能这样运算
c=19-1

"*":两个数相乘或者字符串重复
a=4*7
b="hello"*7             #字符串重复

"/":两个数字相除
a=7/2                   #结果为3,数据为整形,运算后还是取整形
print a

b=7.0/2
c=7/2.0
print b
print c

"**":求幂运算
a=2**3           #相当于2的3次幂,就是2*2*2
print a

"<":小于符号,返回一个bool值 True or False
a=3<7
print a

b=3<3
print b

">":大于符号,返回一个bool值
a=3>7
print a

b=3>1
print b

"!=":不等于符号,同样返回一个bool值
a=2!=3
print a

b=2!=2
print b

"//":除法运算,然后返回其商的整数部分,舍掉余数
a=10//3         #结果3
print a

"%":除法运算,然后返回其商的余数部分,舍掉商
a=10%3          #结果1
print a

b=10%1  #没有余数的时候返回什么? 返回0
print b

a=10//3  #a为商的整数部分
b=10%3   #b为
c=3*a+b  #c为除数乘以商的整数部分加上余数,应该c的值就是被除数
print c

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

a=7&18  #执行一下,为什么7跟18与会得到2呢??
print a
'''首先我们打开计算器,然后我们将7转化为二进制,得到7的二进制值是:111,自动补全为8位,即00000111
然后我们将18转化为二进制,得到18二进制的值是10010,同样补全为8位,即00010010
再然后,我们将00000111
,跟        00010010按位进行与运算,
   得到的结果是:00000010,然后,我们将00000010转化为十进制
   得到数字二,所以7跟18按位与的结果是二进制的10,即为十进制的2
'''


"|":按位或运算,同样我们要将数字转化为二进制之后按位进行或运算
a=7|18
print a
'''我们来分析一下,同样我们的7的二进制形式是00000111,18的二进制形式是00010010
我们将      00000111
跟         00010010按位进行或运算,
   得到的结果是 00010111,然后,我们将00010111转化为十进制
   得到数字23,所以7跟18按位或的结果是二进制的10111,即为十进制的23
'''


"^"按位异或
a=7^18
print a
'''
首先,异或指的是,不同则为1,相同则为0.
我们来分析一下,同样我们的7的二进制形式是00000111,18的二进制形式是00010010
我们将      00000111
跟         00010010按位进行异或运算,
   得到的结果是 00010101,然后,我们将00010101转化为十进制
   得到数字21,所以7跟18按位异或的结果是二进制的10101,即为十进制的21
'''

"~":按位翻转~x=-(x+1)
a=~18  #~18=-(18+1)=-19 
print a
'''
按位反转的数若是负数,谨记计算机中负数都是以补码形式保存的
'''


"<<":左移
'''
比如18左移就是将他的二进制形式00100100左移,即移后成为00100100,即成为36,左移一个单位相当于乘2,左移动两个单位
相当于乘4,左移3个单位相当于乘8,左移n个单位相当于乘2的n次幂。
'''
a=18<<1
print a

b=3<<3
print b

"<<":右移
'''
右移是左移的逆运算,即将对应的二进制数向右移动,右移一个单位相当于除以2,右移动两个单位相当于除以4,右移3个单位相当于
除以8,右移n个单位相当于除以2的n次幂。
'''
a=18>>1
print a

b=18>>2
print b

"<=":小于等于符号,比较运算,小于或等于,返回一个bool值
a=3<=3
print a

b=4<=3
print b

">="
a=1>=3
print a

b=4>=3
print b

"==":比较两个对象是否相等
a=12==13
print a

b="hello"=="hello"
print b

not:逻辑非
a=True
b=not a
print b

c=False
print not c

and:逻辑与
'''
True and True等于True
True and False等于False
False and True等于False
'''
print True and True

or:逻辑或
'''
True and True等于True
True and False等于True
False and False等于False
'''
print True or False