python 整数逆位运算_python训练营:注释、运算符、数据类型与位运算
天学习的内容整理成脑图如下,其中带☆的是需要重点掌握的模糊知识点,需要加强训练和记忆。
二、具体学习内容
2.1 注释
2.1.1 多行注释
2.1.2 长字符串注释
2.2 运算符
2.2.1 算术运算符
2.2.2 比较运算符
2.2.3 逻辑运算符
2.2.4 位运算符
2.2.5 三元运算符
以上三元运算符等价于以下代码
2.2.6 其他运算符
2.2.6.1 in和not in
2.2.6.2 is和not is
注意:is, is not 对比的是两个变量的内存地址
==, != 对比的是两个变量的值
比较的两个变量,指向的都是地址不可变的类型(str等),那么is,is not 和 ==,!= 是完全等价的。
对比的两个变量,指向的是地址可变的类型(list,dict,tuple等),则两者是有区别的。
2.2.7 运算符的优先级一元运算符优于二元运算符。例如3 ** -2等价于3 ** (-2)。
先算术运算,后移位运算,最后位运算。例如 1 << 3 + 2 & 7等价于 (1 << (3 + 2)) & 7。
逻辑运算最后结合。例如3 < 4 and 4 < 5等价于(3 < 4) and (4 < 5)。
口诀:算移位逻(SIVL)
2.3. 变量和赋值在使用变量之前,需要对其先赋值。
变量名可以包括字母、数字、下划线、但变量名不能以数字开头。
Python 变量名是大小写敏感的,foo != Foo。
2.4. 数据与类型转换
2.4.1 整型
2.4.2 浮点型
2.4.3 布尔型
2.4.5 类型转换
2.4.6 print函数
2.5 位运算
2.5.1 原码、反码和补码
2.5.2 按位运算
2.6.3 利用位运算实现快速计算
2.6.4 利用位运算实现整数集合
示例代码:
我们从结果可以看出:
Python中bin一个负数(十进制表示),输出的是它的原码的二进制表示加上个负号,巨坑。
Python中的整型是补码形式存储的。
Python中整型是不限制长度的不会超范围溢出。
所以为了获得负数(十进制表示)的补码,需要手动将其和十六进制数0xffffffff进行按位与操作,再交给bin()进行输出,得到的才是负数的补码表示。
三、学习问题和解决方法记录
最大的问题可能是网速的问题了,解决方案就是第一次启动的时候耐心等待,如果实在不行,多切换几个网络,电信网不行就用校园网,再不行就换成4G热点。
注意is/not is的用法,这两个运算符其实是用来判定两个变量的地址是否一致的,如果是比较小的变量,比如小数字和字符串,python是会将不同变量名指向同一个地址的(也就是同一个对象)。但是如果是不同的列表或者其他容器的话,一般来说是不相等的,因为python会另外分配空间给这些变量。
总的来说,今天的内容比较基础,不过也学到了不少新知识,比如:用Decimal对象来控制浮点型数值的位数等参数
使用位运算的一系列骚操作(有点像one-hot编码)来实现快速计算
还有些知识需要巩固,比如:内存中存放数据的方式
python中给小整数和字符串的内存分配(is/not is判断)
负数补码的计算方法(反码+1)
运算符的优先级。可以通过口诀"SIVL"进行记忆,即S=算术 I=移位运算 V=位运算 L=逻辑运算。
python 整数逆位运算_python训练营:注释、运算符、数据类型与位运算相关推荐
- python整数逆位运算_Python这些位运算的妙用,绝对让你大开眼界
位运算的性能大家想必是清楚的,效率绝对高.相信爱好源码的同学,在学习阅读源码的过程中会发现不少源码使用了位运算.但是为啥在实际编程过程中应用少呢?想必最大的原因,是较为难懂.不过,在面试的过程中,在手 ...
- python 整数逆位运算_Python 进制转换、位运算
一.进制转换 编程用十进制,十进制转换为二进制.八进制.十六进制 In [135]: bin(23) Out[135]: '0b10111' In [136]: oct(23) Out[136]: ' ...
- python 整数逆位运算_整数及其位运算
整数及其位运算 整数具有无限精度.有四种整数表示法:十六进制整数(0x 或 0X 开头),十进制整数,八进制整数(0o 或 0O 开头)和二进制整数(0b 或 0B 开头). # 十六进制 0x10 ...
- python中的数字类型格式与运算_Python中的数字类型格式与运算
出品 Python中的数字(Digital)与数学中的数字相同,可以通过各种各样的运算符实现各种计算,在Python中数字类型的数据格式分为以下几种: 1.整数型(integer) 2.浮点数(flo ...
- python保留两位小数_python中怎么实现保留两位小数
Python中实现保留两位小数的方法如下: 保留两位小数,并做四舍五入处理 方法一: 使用字符串格式化>>> a = 12.345 >>> print(" ...
- python列表数据怎么保留两位小数_python中怎么实现保留两位小数
Python中实现保留两位小数的方法如下: 保留两位小数,并做四舍五入处理 方法一: 使用字符串格式化>>> a = 12.345 >>> print(" ...
- python天天向上的力量b_Python“天天向上的力量”——基本数据类型以及数值运算函数...
整数类型:与数学中整数的概念一致 -可正可负,没有取值范围限制 -pow(x,y)函数:计算xy,想算多大算多大 -十进制:1010,99,-217 -二进制:以0b或0B开头:0b010,-0B10 ...
- python整数逆位运算_[python/工具] python z3库学习 减乘除位与运算 ctf一把梭
今天在vidar的分享会上 s神跟我们讲了一个python的库叫做z3 可以在python中用这个库解决任何方程(只要有解) 网上找不到任何中文资料=.=看来我只能自己写了 z3库的介绍 Z3 在工业 ...
- python字符串函数运算_Python入门教程2. 字符串基本操作【运算、格式化输出、常用函数】 原创...
前面简单介绍了python基本运算,这里再来简单讲述一下Python字符串相关操作 1. 字符串表示方法 >>> "www.jb51.net" #字符串使用单引号 ...
最新文章
- 每天一个linux命令(23):Linux 目录结构
- 计算器是如何计算sin、cos等科学函数的值呢?
- mysql主从复制原理 简书_mysql主从复制,从原理讲到安装配置,全干货
- 新闻文字上下滚动代码
- java hibernate sql,Java Hibernate中使用SQL 而不使用HQL
- [转载] 晓说——第7期:镖局——最后的江湖(上)
- Flutter之Container
- swift3.0 类字符串转类(字符串转ViewController)
- Java基础学习总结(21)——常用正则表达式列表
- MyEclipse项目无法自动编译解决方案
- Python Excel工具类封装, 实现excel表头加颜色
- 三星Bixby如此人性 小娜的下一步就是善解人意
- Java hook qpi_Java中内部类对象的创建以及hook机制
- 【IT之路】LoadRunner系列-Loadrunner 11破解汉化
- Yolo训练自己的数据集,将json格式转换成txt文件格式
- 推荐4个爬虫抓包神器
- 南航计算机学院的实验室,南航计算机科学与技术学院导师介绍:魏欧
- MIPI 打怪升级之DSI篇
- 新疆旅游攻略-乌鲁木齐
- 1191 家谱树(拓扑排序)