(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. Linux下编译器的安装

    一.Linux下gcc/g++/gfortran的安装 (1).gcc Linux下自带gcc编译器.可以通过“gcc -v”命令来查看是否安装. (2).g++安装g++编译器,可以通过命令“sud ...

  2. leetcode — validate-binary-search-tree

    import apple.laf.JRSUIUtils; /** * Source : https://oj.leetcode.com/problems/validate-binary-search- ...

  3. 应用AI芯片加速 Hadoop 3.0 纠删码的计算性能

    本文由云+社区发表 做为大数据生态系统中最重要的底层存储文件系统HDFS,为了保证系统的可靠性,HDFS通过多副本的冗余来防止数据的丢失.通常,HDFS中每一份数据都设置两个副本,这也使得存储利用率仅 ...

  4. Centos 7 Puppet之foreman介绍安装测试

    一.简介 1.前言(引用一下网上的资料) 随着企业的 Linux 系统数量越来越多,管理问题便成为一个相对麻烦并需要急 迫解决的问题,这里有 2 个 Key Message:1)统一管控体系非常重要, ...

  5. ROS笔记 Topics

    http://wiki.ros.org/ROS/Tutorials/UnderstandingTopics rostopic rqt_graph rosmsg rqt_graph 一个用于查看topi ...

  6. SQL Server表名为添加中括号[]执行出错

    执行SQL语句: Update Check Set EOBTypeID=102 where E0BID='123344' 结果竟然报错,给表名添加中括号,写成这样: Update [Check] Se ...

  7. MyCat做MySQL负载均衡(享学课堂,咕泡学院听课笔记)

    不要用战术上的勤奋,掩盖战略上的懒惰. 一.数据库集群演示 演示的数据库的表分了三种, 1.配置表,存储一些配置文件,其他业务表需要关联读取,每个数据库都存储配置表的全部内容,即操作Mycat,所有集 ...

  8. 常用开发环境搭建配置教程(OneStall)

    最近想要做一个小东西,用到了下面几个中间件或者环境: Java Tomcat Maven MongoDB ZooKeeper Node 并且恰好碰到腾讯云打折,云主机原价100多一个月,花了30块钱买 ...

  9. HTML5移动端拖动惯性

    下面代码只是实现了上下滑动惯性,没有写水平滑动惯性.(临时代码笔记,可能会在以后的过程中不断更新优化代码) /** * 惯性原理: * 产生的速度 = 移动距离 / 移动时间 * 距离 = 松开的坐标 ...

  10. 震惊!Vector两行代码求逆序对,六行代码过普通平衡树

    Vector两行代码求逆序对 背景:济南集训Day7上午T2,出了一道逆序对的裸题,SB的我没看出是逆序对来,于是现场推了一个很刁钻的求逆序对的方法 首先我们想一下冒泡排序的过程,我们不难发现,对于每 ...