堆与栈的区别: 深刻剖析经典面试题之一:堆和栈的区别
1.编译型语言与解释型语言的真正区别
2.基本数据类型
Python3 的六个标准数据类型中:
- 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
- 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)
内置的 type() 函数可以用来查询变量所指的对象类型
>>> a, b, c, d = 20, 5.5, True, 4+3j
>>> print(type(a), type(b), type(c), type(d))
<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>
>>> a = 111
>>> isinstance(a, int)
True
isinstance 和 type 的区别在于:
- type()不会认为子类是一种父类类型。
- isinstance()会认为子类是一种父类类型。
注意:Python3 中,bool 是 int 的子类,True 和 False 可以和数字相加 True==1,False==0 是会返回 Ture,但可以通过 is 来判断类型。
String:Python 使用反斜杠 \ 转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串
与 C 字符串不同的是,Python 字符串不能被改变。向一个索引位置赋值,比如word[0] = 'm'会导致错误
list:列表中的元素是可以改变的,和字符串一样,list可以被索引和切片。
tuple(元组):与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。元组中的元素类型也可以不相同。
虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表。
参考: