首页 > 编程语言 >python学习——【第二弹】

python学习——【第二弹】

时间:2023-02-06 21:31:42浏览次数:60  
标签:运算符 a1 python 第二 补码 取反 学习 print 原码

前言

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

运算符

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

算术运算符

运算符

名称

举例

+

print(1+2) #3

-

print(1-2)#-1

*

print(1*2)#2

\

print(1/2)#0.5

\\

整除

# 整除运算  //
print(11//2) #输出5
# 一正一负向下取整
print(9//-4)#输出-3 -2的下面是-3
print(-9//4)#输出-3

%

取余(取模)

# 取余运算(取模运算)%
# 一正一负要利用公式进行计算——> 余数=被除数-除数*整除数
print(11%5)#输出1
print(9%-4)#输出-3 9-(-4)*(-3)
print(-9%4)#输出3 -9-4*(-3)

**

#取次方运算**
print(2**2)#表示2的2次方
print(4**2)#表示4的2次方

赋值运算符

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))

python学习——【第二弹】_补码

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:

python学习——【第二弹】_python_02

比较运算符

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) #两个变量的值是相同的
print(list1 is list2) #False

python学习——【第二弹】_python_03

布尔运算符

使用布尔运算符返回的是True或False;以下为布尔运算符的使用说明:

布尔运算符

名称

举例

and

#and只有全为真才为True
a,b=1,2
print(a==1 and b==2)#True
print(a==1 and b!=2)#False

or

#or只要有一个是真就为True
a,b=1,2
print(a!==1 or b!==2)#False
print(a==1 or b!=2)#True

not

对操作数取反

#not 
'''not对操作数取反
--如果运算数是True 那么运行结果是Falae;
如果运算符是False,那么运行结果是True
'''
a1=False
a2=True
print(not a1)#True
print(not a2)#False

in

表示存在

c='hello'
print('h' in c) #True
print('w' in c)#False

not  in

表示不存在

c='hello'
print('h' not in c) #False
print('w' not in c)#True

位运算符

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

1:位与 &

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

print(4&8) #0

python学习——【第二弹】_python_04

2:位或 |

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

print(4|8) #12

python学习——【第二弹】_运算符_05

3:左移位运算符 <<

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

print(4 << 1) #8

python学习——【第二弹】_补码_06

4:右移位运算符>>

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

print(4>>1) #2

python学习——【第二弹】_运算符_07


5:异或(^)

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

print(4^8) #12

python学习——【第二弹】_python_08

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

每篇一语

不忘初心,方得始终!

如有不足,感谢指正!

标签:运算符,a1,python,第二,补码,取反,学习,print,原码
From: https://blog.51cto.com/u_15928170/6040540

相关文章

  • 蓝桥杯备战日志(Python)10-最短路-(图的遍历)
    最短路原题如下图所示, 是一个无向图,其中蓝色边的长度是 、橘色边的长度是 、绿色边的长度是 。则从  到  的最短距离是多少?分析本题考查图的遍历,本题使用深度优先(DF......
  • 前端面试题学习-个人总结笔记 Day 3 JS
    前端面试题学习-个人总结笔记Day3JS这是看别人总结的基础上再度总结的,总结的链接如下链接1.JS基本数据类型+内部属性[[Class]]+内置对象2.内置对象3.JS......
  • Python Pillow(PIL) ImageFont的使用
    Pillow(PIL)是Python平台事实上的图像处理标准库,支持多种格式,并提供强大的图形与图像处理功能。PIL模块全称为PythonImagingLibrary,是Python中一个免费的图像处理模块......
  • python 列表转换成字符串输出
    列表转换成字符串输出例如:我的列表是:a=[1,0,0,0,0,0,0,0]然后输出100000字符之间有无空格:没有空格:1"".join(map(int,a)) 有空格:1"".join([......
  • windows安装python3的scrapy框架
    安装scrapy在windows安装,非常的麻烦,依赖的架包比较多,需要一步一步的安装,下载的网址https://www.lfd.uci.edu/~gohlke/pythonlibs/cp后面代表你python的版本号,例如cp35m,UI有......
  • 安卓应用漏洞学习case8–CVE-2020-6828
    安卓应用漏洞学习case8–CVE-2020-6828前期回顾漏洞免费实战部分-安卓应用层getLastPathSegment函数问题漏洞实战部分2-安卓应用ZipEntry对象问题实战漏洞实战部分3-C......
  • Mybatis的入门学习
    Mybatis 一款优秀的持久层框架 官网:https://mybatis.org/mybatis-3/zh/index.html  快速入门 在导入jar包之后,配置xml文件最好使用Mybatis-config.xml作......
  • vscode学习(五)之保存时如何修复ESLint错误
    当今Web开发中最著名的两个实用程序是ESLint和Microsoft的VisualStudioCode。我喜欢同时使用这两种工具,但是我喜欢这两种工具之间的集成,但是VisualStudioCode中来自ES......
  • CMake学习记录
    cmake--version查看CMake版本CMake的优势在于可以跨平台CMake与OpenCVOpenCV库的信息包括:版本、头文件路径和库路径在CMakeLists.txt文件find_package(OpenCV......
  • python打包为exe可执行文件
    如果要给别人使用,那么打包成exe就是个完美的解决方案了。打包用到了pyinstaller第三方库,执行​​pipinstallpyinstaller​​进行安装。此处打包用到了pyinstaller的两个参......