一 算数运算符

1.1 加法

[root@node10 python]# cat test.py

var1 = 10
var2 = 7
res = var1 + var2
print(res)

[root@node10 python]# python3 test.py

1.2 减法

[root@node10 python]# cat test.py

var1 = 10
var2 = 7
res = var1 - var2
print(res)

1.3 乘法

var1 = 10
var2 = 7
res = var1 * var2
print(res)

1.4 除法

var1 = 10
var2 = 7
res = var1 / var2
print(res)

#/ 最后的结果一定是小数

[root@node10 python]# cat test.py

res = 14 / 7
print(res)

1.5 地板除

整除之后的数

[root@node10 python]# cat test.py

res = 14 // 7
print(res)
# 如果被除数 或者 除数是一个小数,那么结果后面加一个.0
res = 14.3 // 7
print(res)

1.6 取余  %

[root@node10 python]# cat test.py

res = 8 % 3  # 正常取余数
print(res)
res = -8 % 3 #-2 + 3 = 1
print(res)
res = 8 % -3 #2 + (-3) = -1
print(res)
res = -8 % -5 #-3果两者符号都是符号 那么直接取余数跟上一个负号
print(res)

1.7 乘方运算

[root@node10 python]# cat test.py

res = 3 ** 2
print(res)
res = 2 ** 4
print(res)

二 比较运算符

 > < >= <= == != 

返回一个布尔类型的值 True False

[root@node10 python]# cat test.py

# >
var1 = 5
var2 = 3
res = var1 > var2
print(res) # <
res = var1 < var2
print(res) # >=
res = var1 >= var2
print(res)
res = 5>=5 #满足一个条件即可 方返回真
print(res) # <=
res = var1 <= var2
print(res)
res = 5<=5 #满足一个条件即可 方返回真
print(res) # ==
res = var1 == var2
print(res) # !=
res = var1 != var2
print(res)

三 赋值运算符

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

[root@node10 python]# cat test.py

var1 = 8
var2 = 3
# =
var1 = var2
print(var1) # +=
var1 += var2
'''var1 = var1 + var2'''
print(var1) # -=
var1 -= var2
'''var1 = var1 - var2'''
print(var1) # *=
var1 *= var2
var1 = var1 *var2
print(var1) # /=
var1 /= var2
'''var1 = var1 / var2'''
print(var1) # //= 地板除运算
var1 //= var2
var1 = var1 // var2
print(var1) # %= 余运算
var1 %= var2
var1 = var1 % var2
print(var1) # **= 幂运算
var1 = 4
var1 **= 3
print(var1)

四 成员运算符

in 和 not in (针对于容器型数据)

[root@node10 python]# cat test.py

strvar = "吾尝终日而思已,不如须臾之所学也"
res = "吾" in strvar
print(res)
res = "终日" in strvar
print(res)
res = "不如" in strvar
print(res) # list tuple set
listvar = ["老子","孔子","孟子","荀子"]
res = "孙子" not in listvar
print(res)
setvar = {"庄子","子路","冉有","颜回"}
print(setvar)
res = "颜回" in setvar
print(res)
tuplevar = ("子渊","冉求","公孙龙")
res = "冉求" not in tuplevar
print(res) # dict 成员运算符 判断字典时 判断的是键 不是那个所对应的值
dictvar = {"top":"程咬金","bottom":"甄姬","middle":"嫦娥"}
res = "程咬金" in dictvar
print(res)
res = "top" not in dictvar
print(res)

五 身份运算符

is | is not 检测两个数据在内存中是否是同一个地址

仅仅限定在3.6版本之前 是变量的缓存 ,
判断一个值在某个范围内存在,就不会再另外创建一个相同的值,为了节省内存空间
3.7之后不再划定范围,只要有一份就缓存
提出小数据池 或者变量缓存是为了提升代码执行的效率,减少内存占用空间

[root@node10 python]# cat test.py

# 整型 -5 ~ 正无穷
var1 = 19
var2 = 19
res = var1 is var2
print(res) # 浮点型 非负数
var1 = -5.52
var2 = -5.52
res = var1 is not var2
print(res) # 复数 在实数 + 虚数这样的结构中永远不一样 但如果只有虚数 在值相同情况下一样
var1 = 3+4j
var2 = 3+4j
res = var1 is var2
print(res)
var1 = 6j
var2 = 6j
res = var1 is not var2
print(res) # bool 在布尔值相同的情况下 id一样
var1 = True
var2 = True
res = var1 is var2
print(res) # 容器类型数据地址判断 # str 字符串而言,字符串值相同情况下,id一致
var1 = "你"
var2 = "你"
print(var1 is var2) var1 = (1,23)
var2 = (1,23)
print(var1 is var2)
# 空元组例外
var1 = ()
var2 = ()
print(var1 is var2) # 剩下的容器类型数据无论什么值都不一样
var1 = [1,2]
var2 = [1,2]
print(var1 is not var2)

六 逻辑运算符

and or not 

6.1 逻辑与

[root@node10 python]# cat test.py

# and 逻辑与
res = True and True
print(res)
res = True and False
print(res)
res = False and True
print(res)
res = False and False
print(res)

[root@node10 python]# python3 test.py

6.2 逻辑或

# or  逻辑或
res = True or True
print(res)
res = True or False
print(res)
res = False or True
print(res)
res = False or False
print(res)

6.3 逻辑非

# not 逻辑非(相当于取反)
res = not True
print(res)
res = not False
print(res)

6.4 逻辑短路

'''
一个or或者一个and 情况下
(1)True or something
(2)False and something
''' print("<===>")
False or print(123)
True and print(456)

6.5 逻辑优先级

# 逻辑优先级
# () > not > and > or
res = 5 or 6 and 7
print(res)
res = (5 or 6) and 7 # 5 and 7
print(res)
res = not (5 or 6) and 7 # not 5 and 7 => False and 7 => False
print(res) # 5 or 7 res = 1<2 and 3>4 or 5<6 # True and False or True => False or True
print(res)
res = 1<2 and 3>4 or 5>6 and 7<8 or 9>10 # True and False or False and True or False =>False or False or False => False or False => False
print(res) # 这种情况特殊,上来直接短路,后面的不用再按照and or 优先级算了 (例外)
res = 5 or 6 and 7 or 8 and 9 or 10
print(res)
# 如果上来直接是假,不一定结果也是假,要依次向后计算
# False and True or True #数据类型判断 isinstance
'''
int float bool complex str list tuple set dict isinstance(要判断类型的数据,(类型1,类型2,类型3......))
如果在类型元组当中,返回真
如果不在类型元组当中,返回假
'''
intvar = 15
print(isinstance(intvar,int))
strvar = "789"
print(isinstance(strvar,(int,str,list)))

七 位运算符

& | ~ ^ << >>

7.1 按位与

var1 = 19
var2 = 15
# & 按位与
res = var1 & var2
print(res)

10011
01111
00011

7.2 按位或

var1 = 19
var2 = 15
# & 按位或
res = var1 | var2
print(res)

10011
01111
11111

7.3 << 左移

""" n<<m  n乘以2的m次幂  """
res = 5 << 2 # 相当于5 * 2的2次幂
print (res)

00000101
00010100
4+16 = 20

7.4 >> 右移

n>>m n除以2的m次幂

res = 5 >> 1
"""
00000101
00000010
"""
print(res)

7.5 ^ 按位异或

两个值[不相同]方为真,两个值[相同]方为假

var1 = 19
var2 = 15
res = var1 ^ var2
'''
10011
01111
11100
'''
print(res)

7.6 ~ 按位非    - ( n+1 )

res = ~19
res = ~-21
print(res)

7.7 运算符的优先级

  1. 一元运算符: 同一时间只操作一个数字运算的 ( ~ - ) ~19
  2. 二元运算符: 同一时间只操作两个数字运算的 (+ - * /) 5 + 3
  3. 整体一元运算符优先级 > 二元运算符
  4. 所有运算符当中 ** 幂运算优先级最高
  5. 所有运算符当中 = 赋值运算符优先级最低
  6. 单独的一种运算符优先级顺序如下:
  7. 乘 除 > 加 减
  8. () > not > and > or
  9. ~ > (<< >>)> & > ^ > |
  10. 除此之外,剩下的运算符优先级如下:
  11. 算数运算符 > 位运算符 > 比较运算符 > 身份运算符 > 成员运算符 > 逻辑运算符
  12. 赋值运算符 单独拿出来作为最后,把值计算好之后再进行赋值
res = 5+5 << 6 // 3 is 40 and True    #规范写法   res = (5+5) << (6 // 3) is 40 and True  
print (res)

004.Python运算符的更多相关文章

  1. python运算符重载

    python运算符重载就是在解释器使用对象内置操作前,拦截该操作,使用自己写的重载方法. 重载方法:__init__为构造函数,__sub__为减法表达式 class Number: def __in ...

  2. Python运算符,python入门到精通[五]

    运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算.例如:2+3,其操作数是2和3,而运算符则是“+”.在计算器语言中运算符大致可以分为5种类型:算术运算符.连接运算符.关系运算符.赋值运 ...

  3. Python运算符与表达式

    Python运算符包括赋值运算符.算术运算符.关系运算符.逻辑运算符.位运算符.成员运算符和身份运算符. 表达式是将不同类型的数据(常亮.变量.函数)用运算符按照一定得规则连接起来的式子. 算术运算符 ...

  4. (三)Python运算符

    一.python运算符相关 Python语言支持以下类型的运算符: 算术运算符 比较(关系)运算符 赋值运算符 逻辑运算符 位运算符 成员运算符 身份运算符 运算符优先级 1.python算数运算符 ...

  5. 【Python 补充01】Python运算符

    Python运算符 举个简单的例子 4 +5 = 9 . 例子中,4 和 5 被称为操作数,"+" 称为运算符. 1.算术运算符 + - * / # 加减乘除 % # 取模(返回除 ...

  6. python运算符与数据类型

    python运算符 Python语言支持以下类型的运算符: 算术运算符 比较(关系)运算符 赋值运算符 逻辑运算符 位运算符 成员运算符 身份运算符 运算符优先级 以下假设变量: a=10,b=20: ...

  7. Python——运算符

    Python算术运算符 以下假设变量: a=10,b=20: 运算符 描述 实例 + 加 - 两个对象相加 a + b 输出结果 30 - 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 ...

  8. python运算符一些注意项

    python运算符一些注意项 '/'浮点除,和'//'整除 单个'/'是浮点除,两个除号'//'是整除 整除也适用于浮点数.但是,用整除计算浮点除的结果只是在整除的结果上浮点化,比如3.6//2.1, ...

  9. 【279】◀▶ Python 运算符说明

    参考:Python 运算符说明 目录: 一.算术运算符 二.比较(关系)运算符 三.赋值运算符 四.位运算符 五.逻辑运算符 六.成员运算符 七.身份运算符 八.运算符优先级 一.Python 算术运 ...

随机推荐

  1. Chrome插件开发入门

    最近学习了Chrome插件的开发,总体来说上手还是很容易的,因为浏览器插件本质上依旧是网页,写几个demo基本就了解了他的开发过程. 完整项目:xmy6364/chrome-extension-get ...

  2. MySQL数据库高级三:查询截取分析(了解)

  3. 实现Web请求后端Api的Demo,实现是通过JQuery的AJAX实现后端请求,以及对请求到的数据的解析处理,实现登录功能

    本篇实现Web请求后端Api的Demo,实现是通过JQuery的AJAX实现后端请求,以及对请求到的数据的解析处理,实现登录功能需求描述:1. 请求后端Api接口地址2. 根据返回信息进行判断处理前端 ...

  4. 关于Redis客户端显示中文或中文乱码问题的解决

    关于Redis客户端不显示中文或者显示中文乱码,网上有些解决办法不全面的,都是漏了步骤不讲,简直瞎扯.在此记录一下解决方式. 刚开始使用Redis客户端的时候,本身就是默认不支持显示中文的. 例如,进 ...

  5. Java Case Interview

    什么是面向对象? 面向对象和面向过程的区别: 面向过程更注重每一个步骤以及其顺讯,面向对象更注重哪些对象,他们具有哪些能力 面向过程比较直接,而面向对象更易于复用.扩展和维护 三大特性: 封装:内部细 ...

  6. 用Qt(C++)实现如苹果般的亮屏效果

    用Qt(C++)实现如苹果般的亮屏效果 苹果的亮屏效果可能有很多人没注意到,和其他大部分手机或电脑不同的是,苹果的亮屏特效不是简单的亮度变化,而是一个渐亮的过程.详细来说就是,图片中较亮的部分先显示出 ...

  7. Java并发-同步容器篇

    作者:汤圆 个人博客:javalover.cc 前言 官人们好啊,我是汤圆,今天给大家带来的是<Java并发-同步容器篇>,希望有所帮助,谢谢 文章如果有问题,欢迎大家批评指正,在此谢过啦 ...

  8. HTML5 表单新增元素与属性

    1 form 属性和 formaction 属性 本课时讲解在 HTML4 中,表单内的从属元素必须书写在表单内部,而在 HTML5 中,可以把他们书写在页面上任何地方,然后为该元素指定一个 form ...

  9. 从苏宁电器到卡巴斯基第11篇:我在苏宁电器当营业员 III

    积分换礼的是是非非 在苏宁购物是需要会员卡的(免费办理),我们需要利用这个会员卡来开单,顾客的消费可以换算成积分,贮存在会员卡里面.这个积分可以用于积分换礼,比如电磁炉.乐扣保鲜盒或者其它一些家用器具 ...

  10. 深入学习Android系统上mount命令的使用

    博客链接:http://blog.csdn.net/qq1084283172/article/details/52493227 在Android系统的预装apk病毒和elf病毒的清除时,经常需要先获取 ...