AIR

python与c和c++数据类型之间的比较

这是我第一次自己写博客,在学长的强烈推荐之下,我开始写自己的博客,由于我还是刚刚开始学习python,所以有什么错误欢迎大家指出,希望自己和大家一起进步。

c语言的数据类型
1.基本类型
(1)数值类型
a.整型
1).短整型short
2).整型int
3).长整型long
b.浮点型
1).单精度型float
2).双精度型double
(2)字符串类型char

2.构造类型
(1)数组
(2)结构体struct
(3)共用体union
(4)枚举类型enum

3.指针类型

4.空类型void

c++的数据类型

在这里插入图片描述
这里与c相比新增了布尔型(bool)和类(class)

python的数据类型
整数
浮点数
字符串
布尔值
空值
此外,python还提供了列表(list)、元组(tuple)、字典(dict)/集合(set),这四种数据类型属于集合类型。

list、tuple、dict、set属于python中新增的数据类型。下面单独介绍这些数据类型。

list(列表):
list是一种有序的集合,可以随时添加和删除其中的元素

1
2
3
>>>names=['Mike','Bob','Lisa']
>>>names
['Mike','Bob','Lisa']

这就是一个列表

可以用len()可以获得list元素的个数
用索引可以访问list中每一个元素的位置,如果你想访问列表中第一个元素,则可以用

1
2
>>>names[0]
'Mike'

以此类推,当超过了索引范围就会报错。
想要把元素插入到指定位置用names.insert(n,’Nini’),n为指定位置的编号。
要删除list末尾的元素,用pop()方法。
要删除list指定位置的元素,用pop(n)的方法,n为指定位置的编号。
要把某个元素替换成别的元素,可以直接赋值给对应的索引位置。
list中可以包含其他的list,就像一个二维数组一样,以此类推,就不细说了。

tuple(元组)
tuple与list类似,只是tuple一旦初始化就不能修改,tuple的写法只是把list的[ ]改成了( )。
用以上的例子做说明

1
2
3
>>>names=('Mike','Bob','Lisa')
>>>names
('Mike','Bob','Lisa')

这就是一个元组,但是不能用上面list的方法来修改里面的元素。

只有一个元素的tuple需要加一个逗号,列如:L(1,) ,不加逗号会造成误解。

dict(字典)
使用键-值(key-value)存储,具有极快的查找速度。再次用上面的例子加上身高举例:

1
2
3
>>>names={'Mike':175,'Bob':171,'Lisa':158}
>>>names['Mike']
175

这就是一个dict,姓名与身高一一对应,dict用{ }表示。
想要在dict中增加数据,可以通过key放入,例如:names[‘Nini’]=162 ,这个数据就会放入names这个dict。由于一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值冲掉。
list和dict都可以查找数据,但有不同的特点:
list:查找和插入的时间会随着元素的增加而增加,但是占用空间小,浪费内存少。
dict:查找和插入速度很快,不受影响,但要占用大量内存,浪费多。

set(集合)
set和dict类似,但是set不储存value.
要创建一个set,需要提供一个list作为输入集合,例如:

1
2
3
>>>names=set(['Mike','Bob','Lisa'])
>>>names
set(['Mike','Bob','Lisa'])

这就是一个set

重复元素在set中可以自动被过滤。
想要在set中增加元素,可以用add(key)的方法。例如:names.add(‘Nini’)
想要删除元素,可以用remove(key)的方法,例如:names.remove(‘Nini’)
set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等。
set和dict的唯一区别仅在于没有存储对应的value,但是,set的原理和dict一样,所以,同样不可以放入可变对象,因为无法判断两个可变对象是否相等,也就无法保证set内部“不会有重复元素”。


 Comments


Blog content follows the Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) License

Use Material X as theme , total visits times .
载入天数...载入时分秒...