首页 > 编程语言 >python学习笔记09 python中的运算符

python学习笔记09 python中的运算符

时间:2024-11-28 11:31:35浏览次数:12  
标签:False python 09 补码 运算符 print True 原码

上一篇记录中我们学习了介绍python中的进制、进制转换、原码反码补码
这一篇我们来介绍python中的各类运算符及使用

运算符

操作数:参与运算的变量或者常量或具体的数值

操作符:将参与运算的量连接起来的符号

表达式:由操作数和操作符构成且符合python语法规范的式子,不同的操作符可以称为不同类型的表达式

算术运算符

在这里插入图片描述

a = 3
b = 4
print(a + b) # 7
print(a - b) # -1
print(a * b) # 12
print(a / b) # 0.75
print(a % b) # 3
print(a ** b) # 81
print(a // b) # 0 整除
比较(关系)运算符

特别注意:

= 赋值运算符,== 比较运算符

比较运算符的结果一定是bool类型的

在这里插入图片描述

扩展知识:比较两个非基本数据类型的变量

list1 = [11, 22, 33]
list2 = [11, 22, 33]
# python中==比较列表,元组,字典比较的是内容值
print(list1 == list2) # True
# 比较两个非基本数据类型:
# 方式1:使用is关键字
print(list1 is list2) # False
# 方式2:使用python内置函数id()
print(id(list1))
print(id(list2))
print(id(list1) == id(list2)) # False
赋值运算符

在这里插入图片描述

# = 将右边的值赋值给左边的变量或常量
a = 3
# a += 4 # a = a + 3
# print(a)
# a -= 4
# print(a)
# a *= 4
# print(a)
# a /= 4
# print(a)
# a %= 4
# print(a)
# a **= 4
# print(a)
a //= 4
print(a)    #0
逻辑运算符

在这里插入图片描述

  • and 且 有False则False

    a = 3
    b = 4
    print(a > 3 and b > 4) # False and False = False
    print(a == 3 and b > 4) # True and False = False
    print(a > 3 and b == 4) # False and True = False
    print(a == 3 and b == 4) # True and True = True
    
  • or 或 有True则True

    a = 3
    b = 4
    print(a > 3 or b > 4) # False or False = False
    print(a == 3 or b > 4) # True or False = True
    print(a > 3 or b == 4) # False or True = True
    print(a == 3 or b == 4) # True or True = True
    
  • not将True变成False,将False变成True

    a = 3
    b = 4
    print(not a > b) # True
    
位运算符

在这里插入图片描述

计算机所有数据的运算采用的是补码进行的,而原码 反码 补码均是数据的二进制的形式。所以需要会进制转换方可顺利使用位运算符,
进制转换,原码 反码 补码的内容可跳转至上一篇文章
进制转换,原码 反码 补码

原码 反码 补码
  • 计算机所有数据的运算采用的是补码进行的

  • 原码 反码 补码均是数据的二进制的形式

    原码:
        正数:数值位就是二进制的表现形式,最高位符号位就是0
        负数:数值位和正数保持一致,但是最高符号位为1
    举例:
    	3的原码:
    	1. 3的二进制:11
    	2. 3的原码: 00000011
    	-4的原码:
    	1. 4的二进制:100
    	2. -4的原码: 10000100
        
    反码:
    	正数:和原码保持一致
    	负数:符号位原码保持一致,数值位按位取反
    举例:
    	3的反码: 00000011
    	-4的反码:11111011
        
    补码:
    	正数:和原码保持一致
    	负数:是反码的基础之上末尾+1
    举例:
    	3的补码: 00000011
    	-4的补码:11111100
        
    
    
    举例:-4+3 = -1
    -4的补码+3的补码:
    	 00000011
    +	 11111100
    	-----------
    补码:11111111
    我们最终看到的结果是转原码再转10进制之后的结果 -1
    
    已知补码求原码:
    符号位 数值位
    补码: 1 1111111
    反码: 1 1111110
    原码: 1 0000001
    --------------------------
    数值位转10进制:1,又因为最高位是1,所以是负数,索引最终的结果是 -1
    

    image-20241125205741866

    3的补码: 00000011
    -4的补码:11111100
    a = 3
    b = -4
    print(a & b) # 0 有0则0
      00000011
    & 11111100
    ------------------
      00000000
        
    print(a | b) # -1 有1则1
       	 00000011
    | 	 11111100
    -----------------
    补码:11111111
    
    已知补码求原码
    补码: 11111111
    反码: 11111110
    原码: 10000001
    ----------------
    结果: -1
    
    print(a ^ b) # -1 相同则0,不同则1
       	 00000011
    & 	 11111100
    -----------------
    补码:11111111
    
    已知补码求原码
    补码: 11111111
    反码: 11111110
    原码: 10000001
    ----------------
    结果: -1
    
    print(~ b) # 3
    ~ 11111100
    -------------
      00000011
        
    12的补码: 00001100
    -12的补码:11110100
    print(12<<2) 左移,左边多的位丢弃,
    右边用0补齐,左移n位相当于*2^n
    		00001100
    左移2位 (00)00110000
    --------------------
    00110000 -> 32+16 = 48
    print(-12<<2) # -48
    
    print(12>>2) 右移,右边多的位丢弃,左边若最高位是0就用0补齐,若最高位是1就用1补齐,右移相当
    于除以2^n次方
    		  00001100
    右移2位 00000011(00)
    ---------------------------
    结果:3
    print(-12>>2) # -3
    

    下回我们将来几道习题,复习下这段时间的学习内容吧,点赞收藏关注,一起打卡python学习吧

标签:False,python,09,补码,运算符,print,True,原码
From: https://blog.csdn.net/m0_69045813/article/details/144082404

相关文章

  • python-13◝‿◜
     ૮˙Ⱉ˙ა ദ്ദി˶•̀֊•́)✧ ૮₍◞‸◟₎ა (。•o•。∩) ......
  • python 数据绘制线型、坐标刻度、字体大小等
    标记符号marker参数值效果圆点'o'●星号'*'★方形's'■菱形'D'◆上三角形'^'▲下三角形'v'▼左三角形'<'◀右三角形'>'▶加号'+'+五角星'p'★(五角星)十......
  • Python_别名-深拷贝和浅拷贝
    变量和类型从CPU执行的角度--汇编语言编程具体到物理层--指令区&变量区 CPU可以根据某些寄存器上存的数据找到内存上的区域,并进行读写操作CPU访问内存时需要的是地址,而不是变量名和函数名! 变量名和函数名只是地址的一种助记符,当源文件被编译和链接成可执......
  • CudaSPONGE之Python接口
    技术背景在上一篇博客中我们介绍了CudaSPONGE的基本安装和使用方法。为了性能考虑,CudaSPONGE是基于纯CUDAC开发的,但是现在很多轮子都是Python开发的。为兼容更多的框架和平台,CudaSPONGE也提供了相应的PythonAPI,方便Python开发者调用与二次开发。接口逻辑虽然安装和操作的过程......
  • vue2-解决node-sass安装失败问题,提示python缺失
    当前NodeJs版本v18.16.0Node-Sass与NodeJs版本关系对照图安装Node-Sass报错提示截图原因分析node-sass的代码主要是C++实现,运行node-sass需要进行编译后再运行,而python可以为node-sass提供运行时编译环境,所以正常情况下下载node-sass源代码同时会检查python的安装,确保正常......
  • C语言(运算符及位运算)
    运算符算术运算符基本的算术运算符+、-:正负值运算符(单目运算符)。+、-、*、/、%:加减乘除取余运算符(双目运算符)注意:进行除法运算的时候,除数是不能为0的。这些算术运算符的运算顺序与数学上的运算顺序相同。表达式和运算符的优先级与结合性算术表达式:是指用算术运算符......
  • C语言 -运算符
    运算符各类数值型数据间的混合运算整型、实型、字符型数据间可以进行混合运算运算时,参加运算的两个数据如果类型不同,则首先将其类型转换成一致再运算,转换规则是:将优先级低的类型转换到优先级高的类型,被称作自动类型转换(小转大——不会损失数据)。大类型类型变量名=......
  • Python 使用shapely、geopandas、matplotlib绘制全国各个省份2023年GDP热力图,鼠标点击
    以下是一个示例代码,用于在使用matplotlib和geopandas绘制地图并设置区域后,当鼠标点击地图上的某个区域时,返回该区域的名称。首先,确保你已经安装了matplotlib、geopandas和descartes库(descartes库用于在matplotlib中绘制地理空间数据)。如果没有安装,可以通过pipinstallmatplot......
  • Python解析Properties文件
    支持#注释及\换行支持多级属性赋值,如a.b.c=1demo.propertiesappId=cactus#公钥publicKey=-----BEGINPUBLICKEY-----\n\MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEP9eQZFl3j5zZX8bmYYEznA0z3/X+\n\TooIQ11rxFcPZsTvJPLCUY7NHasUenXJngmvRXSnP4odegaoe4usLDv/3A==\n\-----......
  • python之Excel操作库XlsxWriter
    github: https://github.com/jmcnamara/XlsxWriter PythonXlsxWriter是一个用于创建Excel2007+XLSX文件的库,它提供了简单易用的接口,使得开发者可以轻松地生成Excel文件,并且支持多种高级功能,如格式设置、图表绘制、数据透视表等。XlsxWriter与Excel文件的兼容性非常......