Python运算符

来源:互联网 发布:unity3d用什么语言 编辑:程序博客网 时间:2024/05/21 21:44

encoding=utf-8

“+”:两个对象相加

两个数字相加

a = 7+8

print a

两个字符串相加

b = “GOOD”+” JOB!”

print b

“-“:取一个数字的相反数或者实现两个数字的相减

c = -(-8)

print c

d = a-c

print d

“*”:两个数相乘或者字符串重复

e = 2*2

print e

f = “hello”*3

print f

“/”:两个数相除,当除数和被除数都是整数,则结果是整数,否则则是小数

g = 7/2

print g

h = 7.0/2

print h

“**”:求幂运算

i = 2**3 #相当于2的三次幂,就是2*2*2

print i

“<”:小于符号,返回一个bool值

“>”:大于符号,返回一个bool值

“!=”:不等于符号,返回一个bool值

“//”:除法运算,返回其商的整数部分,舍掉余数

j = 10//3

print j

“%”:除法运算,返回其商的余数部分,舍掉商,当没有余数的时候,返回0

k = 10%1

print k

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

l = 7&18

print l

首先将7转换为二进制数为111,自动补全为8位,则是00000111

然后将18转换为二进制数为10010,自动补全为8位,则是00010010

将00000111和00010010按位进行与运算得到00000010

将00000010转换为十进制得到数字2,这就是运算的结果

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

m = 7|18

print m

首先将7转换为二进制数为111,自动补全为8位,则是00000111

然后将18转换为二进制数为10010,自动补全为8位,则是00010010

将00000111和00010010按位进行或运算得到00010111

将00010111转换为十进制得到数字23,这就是运算的结果

“^”:按位异或运算,指的是将一个数字转化为二进制,然后将这些二进制的数按位来进行异或运算

n = 7^18

print n

首先将7转换为二进制数为111,自动补全为8位,则是00000111

然后将18转换为二进制数为10010,自动补全为8位,则是00010010

将00000111和00010010按位进行异或运算,得到00010101

将00010101转换为十进制得到数字21,这就是运算的结果

“~”:按位翻转 例如:~x = -(x+1)

o = ~20 # ~20 = -(20+1) = -21

print o

“<<”:左移

p = 18<<1 #比如18左移1位就是把18对应的二进制数00010010左移,变成了00100100,则变成了36

左移一个单位相当于乘以2,左移两个单位相当于乘以4,三个单位相当于乘以8,左移n的单位相当于乘以2的n次幂

q = 3<<3

print q

“>>”:右移

r = 20>>3

右移一个单位相当于除以2,右移两个单位相当于除以4,三个单位相当于除以8,右移n的单位相当于除以2的n次幂(商有余数的,取商的整数部分)

print r

“<=”:小于等于符号,返回bool值

“>=”:大于等于符号,返回bool值

“==”:比较两个对象是否相等(数字/字符串均可比较)

“not”:逻辑非

s = True
t = not s #True的逻辑非为False

print t

“and”:逻辑与 (同真则真,一假则假)

u = s and t

print u

“or”:逻辑或 (一真则真,同假则假)

v = s or t
print(“结果是{0}”.format(v))

0 0