python数据类型
6个标准的数据类型
-不可变数据:Number、String、Tuple(元组)
-可变数据:List、Dictionary、Set
Number中包含int、float、complex(复数)
重点内容:Python 里面万物皆对象(object),整型也不例外,只要是对象,就有相应的属性 (attributes) 和方法(methods)。
python中运算符
1、算术运算符
2、其他
3、逻辑运算符
4、比较运算符
5、位运算符
*有关位运算的一些知识
1、基础知识
1)原码:二进制表示,最高位是符号位
2)反码:正数反码即原码,负数反码符号位不变,其余位取反
3)补码:正数补码即原码,负数补码是反码加1
总结:正数原补反统一原
2、利用位运算实现快速计算
-通过<< 、>>快速计算2的倍数问题
-通过 `^` 快速交换两个整数
-通过 `a & (-a)` 快速获取`a`的最后为 1 位置的整数
⚠️几个对比
#is / is not和== / !=
is, is not 对比的是两个变量的内存地址
==, != 对比的是两个变量的值
例子:
a = "hello"
b = "hello"
print(a is b, a == b) # True True
print(a is not b, a != b) # False False
**遇到不可变数据类型,比如Number、String、Tuple等,那么两者完全等价。
# isinstance()和type()
字面意思上理解的区别如下:
- `type()` 不会认为子类是一种父类类型,不考虑继承关系。
- `isinstance()` 会认为子类是一种父类类型,考虑继承关系。
举个例子更直观的来看,下面对象B继承了A。
*课后思考题及解答:
1. 怎样对python中的代码进行注释?
解答:两种方式,整行注释和区间注释。
1)#:用于整行注释
2)‘’‘ ’‘’、“”“ ”“”:区间注释
2. python有哪些运算符,这些运算符的优先级是怎样的?
解答:有几类运算符
1)算术运算符:+、-、*、/、//(整除)、%、**(幂)
2)比较运算符:<、>、<=、>=、==、!=
3)逻辑运算符:and、or、not
4)位运算符:&、\|、~、^(异或)、<<、>>
5)三元运算符
6)其他:存在与否 in / not in ,是或不是is / is not
优先级顺序:一优于二、算移位逻
(一元优于二元运算,然后是算术、移位、按位、逻辑)
3. python 中 `is`, `is not` 与 `==`, `!=` 的区别是什么?
解答:is 和is not 比较的是变量的内存地址。
==和!=比较的是变量的值,与内存地址无关。
4. python 中包含哪些数据类型?这些数据类型之间如何转换?
解答:数据类型--Number、String、Tuple、List、Dictionary、Set
转换方式: 转换为整型 `int(x, base=10)`
转换为字符串 `str(object='')`
转换为浮点型 `float(x)`