(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. ELK-ElasticSearch索引详解

    1.使用_cat API检测集群是否健康,确保9200端口号可用: curl 'localhost:9200/_cat/health?v' 注意:绿色表示一切正常,黄色表示所有的数据可用但是部分副本还 ...

  2. ssh-login 一键密码加密登录工具

    ssh-login 1. Feature 管理多个帐号,每个帐号一个易记的 tip name,支持 tab 进行 tip name 补全,一键 ssh 登录 密码 AES 加密,密文存储密码,且只需要 ...

  3. Java线程Thread的状态解析以及状态转换分析 多线程中篇(七)

    线程与操作系统中线程(进程)的概念同根同源,尽管千差万别. 操作系统中有状态以及状态的切换,Java线程中照样也有. State 在Thread类中有内部类 枚举State,用于抽象描述Java线程的 ...

  4. Spring Boot(十二)单元测试JUnit

    一.介绍 JUnit是一款优秀的开源Java单元测试框架,也是目前使用率最高最流行的测试框架,开发工具Eclipse和IDEA对JUnit都有很好的支持,JUnit主要用于白盒测试和回归测试. 白盒测 ...

  5. webpack4.0各个击破(3)—— Assets篇

    目录 一. Assets资源的基本处理需求 二. webpack处理引用资源 2.1 资源打标 2.2 引用优化 2.3 sprites雪碧图合成 2.4 图片压缩及其他 webpack作为前端最火的 ...

  6. CSS引用样式

    llink和@import引入外部样式的区别 •隶属上的差别 link属于HTML标签,而@import完全是CSS提供的一种方式. •@import次数限制 @import只能引入31次css文件. ...

  7. 学JAVA第七天,循环深入了解

    因为星期五放假,所以今天补回. 上次已经解释过循环了,现在我们来进一步了解. 例如for循环:for( int i=0 : i<10 : i++ ){需要循环的内容},这样就会循环10次了 如果 ...

  8. 零基础学Python--------第7章 面向对象程序设计

    第7章 面向对象程序设计 7.1 面向对象概述 面向对象(Object Oriented)的英文缩写是OO,它是一种设计思想.从20世纪60年代提出面向对象的概念到现在,它已经发展成为一种比较成熟的编 ...

  9. 17 , CSS 区块、浮动、定位、溢出、滚动条

    1.CSS 中区块的使用 2.CSS 中浮动的使用 3.CSS 中定位的使用 4.CSS 中溢出的使用 5.CSS 中滚动条的使用 17.1 CSS 中区块的使用 属性名称 属性值 说明 width ...

  10. Selenium自动化 Xpath-元素定位

    最近在教妹子做自动化测试,妹子基础差,于是想到很多初学自动化的朋友们学习的知识没有规范化,信息太过杂乱.所以,本文整理了一些自动化元素定位方式: 这次将讲Xpath定位! 什么是Xpath: Path ...