当前位置: 首页 > news >正文

python学习——【第二弹】

前言

上一篇文章 python学习——【第一弹】给大家介绍了python中的基本数据类型等,这篇文章接着学习python中的运算符的相关内容。

运算符

python中的运算符主要有:算术运算符,赋值运算符,比较运算符,布尔运算符以及位运算符。

算术运算符

在这里插入图片描述

在这里插入图片描述

赋值运算符

1:python中的赋值运算符是由 ’ = ’ 表示的,它的执行顺序是 从右到左

比如

a=1+2
print(a) #将1+2的值赋给等式左边的变量

2:支持链式赋值:

q=w=e=10
print(q,id(q))
print(w,id(w))
print(e,id(e))

在这里插入图片描述

3:支持参数赋值

a1=20;
a1+=10
print(a1)#输出30      20+10=30
a1-=10
print(a1)#输出20       30-10=20
a1*=10
print(a1)#输出200      20*10=200
a1%=15
print(a1)#取余输出0     200%15=5
a1/=10
print(a1)#此时a1=0,故取商=0.5   
b1=30
b1//=4
print(b1)#整除关系,输出7

4:支持系列解包赋值

a,b,c=10,20,30  #30-》c  20-》b  10-》a   实际上是三个对象指向三个地址
print(a,id(a))
print(b,id(b))
print(c,id(c))
#注意python是从右到左赋值,系列解包赋值指向不同的地址;并且变量的个数要和值得个数保持一致,否则会抛出ValueError:

在这里插入图片描述

比较运算符

1:比较运算符用的是‘ == ’比较运算符得结果是Bool类型

a,b=10,20
print('a==b吗',a==b) #False
print('a!=b吗',a!=b) #True

2:与赋值运算符 = 相区分 ; 比较运算符 == 比较的是两个对象得value值,不比较两个对象的标识;用于比较两个对象的标识所用得是 is,is not

list1=[11,22,33,44]
list2=[11,22,33,44]
print(id(list1),id(list2))  #两个变量的标识不相同
print(list1==list2)  #两个变量的值是相同的  True
print(list1 is list2)   #False

在这里插入图片描述

布尔运算符

使用布尔运算符返回的是True或False;以下为布尔运算符的使用说明:
在这里插入图片描述在这里插入图片描述

位运算符

该运算符按二进制位对值进行操作

1:位与 &

参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0

print(4&8) #0

在这里插入图片描述

2:位或 |

只要对应的两个二进位有一个为1时,结果位就为1

print(4|8) #12

在这里插入图片描述

3:左移位运算符 <<

把’<<'左边的运算数的各二进制位全部左移若干位,<<右边的数字指定了向左移动的位数,高位溢出舍弃,低位补0;向左移动一位相当于*2

print(4 << 1) #8

在这里插入图片描述

4:右移位运算符>>

把‘>>’左边的运算数的各二进制位全部右移若干位,>>右边的数字指定了向右移动的位数,低位溢出舍弃,高位补0;向右移动一位相当于/2

print(4>>1) #2

在这里插入图片描述

5:异或(^)

按位异或运算符,当两对应的二进位相异时,结果为1

print(4^8) #12

在这里插入图片描述

6:取反(~)

按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1

print~5#-6

取反过程
+5:

  1. 计算原码:0101

  2. 计算补码:0101(正数原码与补码相同)

  3. 对补码依次取反:1010(取反后数字的补码,由符号位可知为负数)

  4. 取反后数字反码:1001(负数的反码=补码-1)

  5. 取反后数字原码:1110(相对于反码符号位不变,数值位依次取反)

  6. 转化为十进制:-6

-4:

  1. 计算原码:1100

  2. 计算反码:1011(相对于原码符号位不变,数值位依次取反)

  3. 计算补码:1100(负数补码=反码+1)

  4. 对补码依次取反:0011(取反后数字的补码,由符号位可知为正数)

  5. 取反后数字原码:0011(正数原码、反码、补码相同)

  6. 转化为十进制:+3

我们可以直接记住取反的公式:

~x=-x-1

每篇一语

不忘初心,方得始终!

如有不足,感谢指正!

http://www.lryc.cn/news/27961.html

相关文章:

  • 242. 有效的字母异位词 349. 两个数组的交集
  • web网页设计——JavaScript一些语法
  • php宝塔搭建部署实战CSM会议室预约系统源码
  • 嵌入式知识点-SPI通讯
  • C#教程--01 简介
  • 【java基础】一篇文章彻底搞懂lambda表达式
  • 通用SQL查询分析器
  • 机器学习100天(三十八):038 朴素贝斯-处理离散数据
  • 【3.3】指针、二分、SSM项目
  • buu [INSHack2017]rsa16m 1
  • 【数据结构起航】:衡量算法的好坏--时间空间复杂度
  • 动手学深度学习【1】——线性回归
  • Html 相关知识
  • 【冲刺蓝桥杯的最后30天】day1
  • c++泛型编程与模板-01函数模板
  • Golang http请求忘记调用resp.Body.Close()而导致的协程泄漏问题(含面试常见协程泄漏相关测试题)
  • 进程信号生命周期详解
  • 2023-03-03干活小计
  • 操作系统结构
  • [SSD科普] 固态硬盘物理接口SATA、M.2、PCIe常见疑问,如何选择?
  • 【Java学习笔记】3.Java 基础语法
  • Python基础学习6——if语句
  • 有免费的PDF转Word吗?值得收藏的7个免费 PDF转Word工具请收好
  • Thinkphp6使用RabbitMQ消息队列
  • 小成本互联网创业怎么做?低成本创业的方法分享
  • 六、栈、栈的相关问题
  • Java安全停止线程
  • 12 readdir 函数
  • Windows环境搭建Android开发环境-Android Studio/Git/JDK
  • 全国爱耳日丨听力受损严重有哪些解决办法