Python入门学习笔记(day1)

Python 入门学习笔记

  • 变量、运算符与数据类型
    • 注释
    • 运算符
    • 数据类型与转换
  • 位运算
    • 原码、反码和补码

变量、运算符与数据类型

注释

1.在注释中,#只能表示单行的注释,而如果要注释区间(多行注释),则需要用到三引号,这个地方使用三单引或者三双引都可以。

运算符

1.关于算术运算符,除了规则的四则运算+*-/外,还有一些像整除运算符//、幂运算符**等都是非常常用的运算符,它们可以帮助我们在一些例如求最大公约数以及一些算术表达式的结果时简化很多不必要的步骤。

2.位运算在一些高级的程序当中也会时常出现,作为了解,需要记忆一些基本位运算符。

Python入门学习笔记(day1)_第1张图片
3.还有一些其他运算符,例如in是存在的意思。

存在运算符
is运算符一般用于对比两个变量的内存地址,如“a is b"。
注意:如果是地址不可变类型如str,那么is等价于==,is not等价于!=。
4.重点记忆运算符优先级,如果优先级混乱,可能会导致运算结果偏差严重。
(1)一元运算符优于二元运算符。例如3 ** -2等价于3 ** (-2)。
(2)先算术运算,后移位运算,最后位运算。例如 1 << 3 + 2 & 7等价于 (1 << (3 + 2)) & 7。
(3)逻辑运算最后结合。例如3 < 4 and 4 < 5等价于(3 < 4) and (4 < 5)。

数据类型与转换

1.保留小数点操作:如果要保留浮点型小数点后n位,使用demic包里的Decimal 对象和 getcontext() 方法来实现。

在这里插入图片描述
也可以使用getcontext().prec来调整精度。

在这里插入图片描述
2.获取类型信息 type(object)
需要注意的是:type() 不会认为子类是一种父类类型,不考虑继承关系,isinstance() 会认为子类是一种父类类型,考虑继承关系。

位运算

原码、反码和补码

1.二进制表示形式解释。
原码:就是其二进制表示。

在这里插入图片描述

反码:正数的反码就是原码,负数的反码是符号位不变,其余位取反。

在这里插入图片描述

补码:正数的补码就是原码,负数的补码是反码+1。

在这里插入图片描述
2.利用位运算符的快速计算。
(1)如果要快速计算2的倍数问题,除了使用传统的乘法运算符*2,还可以利用计算机的二进制机制,使用位运算符<<,>>来完成这一操作。

在这里插入图片描述

(2)如果要快速交换两个整数,除了传统的定义一个中间变量将两数交换之外,Python中有特定的符号^可用来快速交换。

在这里插入图片描述

3.请注意:
(1)Python中bin一个负数(十进制表示),输出的是它的原码的二进制表示加上个负号。
(2)Python中的整型是补码形式存储的。
(3)Python中整型是不限制长度的不会超范围溢出。
所以为了获得负数(十进制表示)的补码,需要手动将其和十六进制数0xffffffff进行按位与操作,再交给bin()进行输出,得到的才是负数的补码表示。

你可能感兴趣的:(Python入门学习笔记(day1))