(1)算数运算符:  + - * / // % **

(2)比较运算符:  > < >= <= == !=

(3)赋值运算符:  = += -= *= /= //= %= **=

(4)成员运算符:  in 和 not in (针对于容器型数据)

(5)身份运算符:  is 和 is not (检测两个数据在内存当中是否是同一个值)

(6)逻辑运算符:  and or not

(7)位运算符:    & | ~ ^ << >>

# 1. 算数运算符:  + - * / // (地板除) % **(幂运算)

var1 = 7

var2 = 4

# +

res = var1 + var2

print(res)

# -

res = var1 -var2

print(res)

# *

res = var1 * var2

print(res)

# / (结果是一个小数)

res = var1 / var2

res = 8 / 8

print(res)

# // (取整数) 两个数在进行地板除的时候,有一个数是小数,就在最后的结果上加.0

res = var1 // var2

res = 8 // 8

res = 28.7 // 5

print("<===>")

res = 28 // 5.3

print(res)

# %

res = var1 % var2

res = 99 % 7

# -1 + 7 = 6 (余数)

res = -99 % 7

# 1 + (-7) = -6 (余数)

res = 99 % -7

print(res)

# **   var1 * var1 * var1  7*7*7  **是所有运算符 优先级最高的一个

res = var1 ** 3

print(res)

# ###(2)比较运算符:  > < >= <= == !=

'''比较运算符只会产生2个结果  要么True 要么False'''

# >

var1 = 15

var2 = 18

res = var1 > var2

print(res)

# <

res = var1 < var2

print(res)

# >=  只要满足一个条件即为真

res = var1 >= 15

print(res)

# <=

res = var1 <= 15

print(res)

# == *****

res = var1 == var2

print(res)

# != *****

res = var1 != var2

print(res)

# ### 3.赋值运算符  = += -= *= /= //= %= **=

# = 所有运算符当中 等号的优先级最低

var1 = 9

var2 = 5

res = var1

# print(res)

# +=

# 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 **= var2

'''var1 = var1 ** var2'''

print(var1)

# ###4.成员运算符  in    not in 针对于容器类型数据

# str  字符串需要是一个连续的片段

strvar = "如果遇到你是一种错,我宁愿一错再错"

res = "你" in strvar

res = "遇到" not in strvar

res = "我一" in strvar

print(res)

# list tuple set

listvar = ["张胜男","张三","李四"]

res = "达到" in listvar

print(res)

tuplevar = "张三","李四","王五"

res = "王大" not in tuplevar

print(res)

setvar = {'王五','张三"'}

res =  "王五" in  setvar

print(res)

# dict  注意 : 判断的是键 不是值

dictvar = {"zdx":"王五","gss":"张三","mlh":"李四"}

res = "李四" in dictvar

res = "mlh" not in dictvar

print(res)

# ### 身份运算符  is  is not

"""

var1 = 56

var2 = 56

res = var1 == var2  (判断两个值是否相等)

res = var1 is var2  (判断两个值得地址是否相等)

"""

# Number

# int -5 ~ 正无穷

var1 = 56

var2 = 56

res = var1 is var2

print(res)

# float 非负数

var1 = -99

var2 = -99

print(var1 is not var2)

# bool

var1 = True

var2 = False

print(var1 is var2)

# complex

var1 = 5+6j

var2 = 5+6j

print(var1 is not var2)

# 容器类型数据  () 相同的字符串 剩下所有的容器类型数据地址都不一样

var1 = ()

var2 = ()

print(var1 is  var2)

var1 = "机"

var2 = "机"

print(var1 is not var2)

# ### 6. 逻辑运算符 (and or not)

# (1)and 逻辑与

'''全真则真,一假则假'''

res = True and True

res = False and True

res = False and False

res = True and False

print(res)

# (2)or 逻辑或

'''全假则假,一真则真'''

res = True or True

res = True or False

res = False or True

res = False or False

print(res)

# (3)not 逻辑非  相当于取反

res = not True

res = not False

print(res)

# (4)逻辑短路

'''

False and 布尔 在and左边如果时False 逻辑短路 右侧不执行

True or 布尔   在or左边如果是True  逻辑短路 右侧不执行

在开发当中 ,当成"开关"使用

# res = False and False

'''

False and  print(123) #逻辑短路

True or print(456)  #逻辑短路

True and print(789)

# res = print(456)

# print(res)

 

# 逻辑运算符的优先级

''' () > not > and > or '''

# res = 6 and 7

# res = True and  True

# print(res)

# res = 5 or 6 and 7

# res = 5 or True

# res = 5 or True

# (1)

res = 5 or 6 and 7

print(res)

# (2)

res = (5 or 6) and 7

print(res)

# (3)

res = not(5 or 6) and 7

print(res) # False

'''

5 or 6 => 5

not 5 and 7

False and 7

'''

# (4)

res = 3>1 or 4<5 and 6>9 or 8==10

# True or True and False or False

# True or False or False

# True or False

print(res)

# 数据类型的判断 isinstance

'''

isinstance(要判断的值,(数据类型1,数据类型2,数据类型3,.....))

最终的返回值要么是True 要么是False

int float bool complex str list set tuple dict

'''

var1 = 6

res = isinstance(var1,int)

print(res)

var2 = "你好"

# 只要类型元组里面含有这个数据类型,即为真

res = isinstance(var2,(set,list,tuple))

print(res)

 

# ### 7.位运算符 (& |  ^ << >> ~)

# 按位与 &

var1 = 19

var2 = 15

res = var1 & var2

print(res)

"""

000000010011

000000001111

000000000011

"""

# 按位或 |

res = var1 | var2

print(res)

'''

000000010011

000000001111

000000011111

'''

# 按位异或 ^ "如果两者不相同,返回真,两者相同返回假

res = var1 ^ var2

print(res)

'''

000000010011

000000001111

000000011100

'''

# <<  相当于 5 乘以 2的2次幂

res = 5 << 2

res = 4 << 3

print(res) # 20

"""

000000101

000010100

"""

# >>  相当于 5 除以 2的1次幂

res = 5 >> 1

print(res)

"""

0000101

0000010

"""

# ~ 按位非 (针对于补码来进行操作 ,连符号位都要改变) 公式 -(n+1)

res = ~19

print(res)

"""

000000000010011 (补码)

111111111101100 (按位非)

111111111101100  (给补码求原码)

100000000010011  (反码)

100000000010100  (原码)  => -20

"""

res = ~(-19)

print(res)

'''

100000000010011  (原码)

111111111101100  (反码)

111111111101101  (补码)

按位非操作的是补码

111111111101101  (补码)

000000000010010  (按位非得值)

000000000010010  (原码 == 反码 == 补码)

'''

"""

所有运算符的优先级:

(1) 小括号的优先级最高 ()     => (3+3)*5

(2)

一元运算符:同一时间操作一个数的 ( ~ , - ) -6

二元运算符: 同一时间操作二个数的

 

** 符号优先级最高

符号优先级最低

 

整体来说,一元运算符优先级大于二元运算符 , ** 除外

乘,除 > 加减

() > not > and > or

(<< >> ) > & > ^ > |

 

除此之外剩下的运算符参考以下:

算术运算符 > 位运算符 > 比较运算符 > 身份运算符 > 成员运算符 > 逻辑运算符

赋值运算符单独拿出来 , 用来把最后的结果进行赋值的

"""

"""

res = 5+5 << 6 // 3 is 40 and True

res = 5+5 << 2 is 40 and True

res = 10 << 2 is 40 and True

res = 40 is 40 and True

res = True and True

res = True

print(res)

"""

python小白——进阶之路——day3天-———运算符的更多相关文章

  1. python小白——进阶之路——day3天-———容器类型数据+Number类型强制类型转换

    -->Number 部分 int :     整型   浮点型 布尔类型  纯数字字符串 float:    整型   浮点型 布尔类型  纯数字字符串 complex:  整型   浮点型 布 ...

  2. python小白——进阶之路——day2天-———数据类型和Number类型和str字符串

    ### -python的六大标准数据类型(1)Number 数字类型(int float bool complex)(2)String 字符串类型(3)List 列表类型(4)Tuple 元组类型(5 ...

  3. python小白——进阶之路——day1天---认识python和变量、注释

    ###-python的认知 89年开发的语言,创始人范罗苏姆(Guido van Rossum),别称:龟叔(Guido) (1)版本: python2.x原码不规范,重复较多 python3x:原码 ...

  4. python小白——进阶之路——day4天-———流程控制while if循环

    # ### 代码块: 以冒号作为开始,用缩进来划分作用域,这个整体叫做代码块 if 5 == 5: print(1) print(2) # 注意点: 要么全部使用4个空格,要么全部使用1个缩进 ,这样 ...

  5. python小白——进阶之路——day2天-———变量的缓存机制+自动类型转换

    # ###同一文件,变量的缓存机制 ''' -->Number 部分 1.对于整型而言,-5~正无穷范围内的相同值 id一致 2.对于浮点数而言,非负数范围内的相同值 id一致 3.布尔值而言, ...

  6. python小白——进阶之路——day2天-———容器类型数据(list,set ,tuple,dict,str)

    #容器类型数据 : list tuple # ###列表的特性:可获取,可修改,有序 # 声明一个空列表 listvar = [] print(listvar,type(listvar)) # (1) ...

  7. 小白进阶之路-python基本运算符

    1.算数运算符(+.-.*./.%.**(幂 二次方.三次方).//(地板除,返回商的整数部分) 2.比较运算符(==.!=.<>(不等于).>.<.>=.<=) ...

  8. Python小白学习之路(二)—【Pycharm安装与配置】【创建项目】【运算符】【数据类型】

    写在前面: 第二天的学习,感觉比昨天学习相对轻松一些,但是对于我这个编程语言功底很弱的人来说,还是稍稍微有些.....哈尔滨的天气一天天冷了下来,还飘着小雨,不过还是挺有意境的.充实而又忙碌的生活,让 ...

  9. 小白进阶之路—python脚本(1)判断是否是一个目录

    #!/usr/bin/env python# -*- coding: utf-8 -*-import os   dir = "/var/www/html/EnjoyWeekend/" ...

随机推荐

  1. RabbitMQ消息队列(九)-通过Headers模式分发消息(.Net Core版)

    Headers类型的exchange使用的比较少,以至于官方文档貌似都没提到,它是忽略routingKey的一种路由方式.是使用Headers来匹配的.Headers是一个键值对,可以定义成Hasht ...

  2. Java开发知识之Java类的高级特性,内部类.以及包使用.跟常量关键字

    Java开发知识之Java类的高级特性,内部类.以及包使用.跟常量关键字 一丶Java中包的机制 首先包其实就是个文件夹.作用就是管理类. Java中每次定义一个类的时候.通过Java编译之后.都会生 ...

  3. PE知识复习之PE扩大节

    PE知识复习之PE扩大节 一丶为什么扩大节 上面我们讲了,空白区添加我们的代码.但是有的时候.我们的空白区不够了怎么办.所以需要进行扩大节. 扩大节其实很简单.修改节数据对齐后的大小即可. 并且在PE ...

  4. JavaScript与WebAssembly进行比较

    本文由云+社区发表 作者:QQ音乐前端团队 在识别和描述核心元素的过程中,我们分享了构建SessionStack时使用的一些经验法则,这是一个轻量级但健壮且高性能的JavaScript应用程序,以帮助 ...

  5. Mybatis源码解析 - mapper代理对象的生成,你有想过吗

    前言 开心一刻 本人幼教老师,冬天戴帽子进教室,被小朋友看到,这时候,有个小家伙对我说:老师你的帽子太丑,赶紧摘了吧.我逗他:那你好好学习,以后给老师买个漂亮的?这孩子想都没想立刻回答:等我赚钱了,带 ...

  6. C#实现以太仿DApp合约编译、部署

    在网上找了一些关于C#开发以太仿的资料,大概了解了以太仿常用名词,后续可能需要根据资料查看开源的源码进一步熟悉一下. 一.准备合约 这里准备了一个EzToken.sol合约,目前还不会solidity ...

  7. Xamarin.Forms 开发资源集合(复制)

    复制:https://www.cnblogs.com/mschen/p/10199997.html 收集整理了下 Xamarin.Forms 的学习参考资料,分享给大家,稍后会不断补充: UI样式 S ...

  8. 第34章 授予类型 - Identity Server 4 中文文档(v1.0.0)

    授权类型是指定客户端如何与IdentityServer交互的方式.OpenID Connect和OAuth2.0规范定义了以下授权类型: Implicit Authorization code Hyb ...

  9. WebBrowser Cookie

    WebBrowser的Cookie操作 .在WebBrowser中获取Cookie CookieContainer myCookieContainer = new CookieContainer(); ...

  10. Java开发笔记(五十二)对象的类型检查

    前面介绍了类的多态性,来自于鸡类的实例chicken,既能用来表达公鸡实例,也能用来表达母鸡实例.可是这导致了一个问题,假如在call方法内部需要手工判断输入参数属于公鸡实例还是母鸡实例,那该如何是好 ...