python 的基本数据类型简单介绍

一、什么是数据类型

  数据类型是一组具有相似属性的一类数据的集合,数据类型决定了其存储到计算机中的方式。将数据进行类型划分,是为了更方便的处理数据。比如:你想让计算机进行数值运算,你就传数字给它,你想让它处理文字,就传字符串给它。python中的基本数据类型包括:数字类型、字符串类型、列表类型、元组类型、字典类型、集合类型、布尔类型,一共七种。

二、数字类型

  (1)int(整型)

  在64位系统中,整数的位数位64位,取值范围-263 ~ 263 -1。

  (2)long(长整型)

  跟C语言不同,python的长整型没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于及其内存有限,我们使用的长整型数值不可能无限大。

  注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整型,所以如今在长整数数据后边不加字母L也不会导致严重后果。在python3里不再有long类型了,全都是int

a = 2**65
print(type(a))
b = 2**60
print(type(b))

  在phthon3环境中,得到的结果均为<class 'int'>。

  (3)float(浮点型)

  即小数,如1.111,2.333等

三、字符串

  在python 中,加了引号(" ",' ',''' ''')的字符都被认为是字符串。

  

age = "22"  # 只要加引号就是字符串
age = 22   # 不加引号为int
msg = ''' My name is alex, Iam 22 years old '''   # 三个引号也可以
hometown = 'Shandong'  # 单引号也行

  单引号、双引号、多引号有什么区别呢?

  单引号和双引号没有任何区别,只有在特殊情况下,需要配合使用,比如:

  msg = "My name is alex, I'm 22 years old!"

  多引号的区别在于,多引号可以容纳多行字符串,比如:

msg = '''
床前明月光,
疑是地上霜,
举头望明月,
低头思故乡。
'''

四、布尔类型

  布尔类型很简单,就两个值,一个真True,一个假False,主要用于逻辑判断。比如:

  

a = 3
b = 5
print(a>b)
结果:False
print(a<b)
结果:True

  计算机为什么需要描述这种条件呢?因为可以通过这种条件结果来进行不同的操作!比如:

if a >b:
    print(a is bigger than b)
else:
    print(a is smaller than b)

五、列表类型

  列表(List)是一种数据项构成的有限序列,即按照一定的线性序列,排列而成的数据项的集合。在python中,用中括号[ ]来表示列表。列表中的每一个数据叫做元素,元素和元素之间用逗号","隔开,每一个元素都有自己的下标,下标从0开始,每添加一个元素,就会自动+1。比如:

name = ['alex', 'jack', 'rain', 'rachel', 'mack']

  它在计算机中的存储形式可以形象的表示为:

元素名 alex jack rain rachel mack
下标(索引) 0 1 2 3 4

  想要获到列表中某个元素的值,只需要通过下标或索引就能拿到,比如:

>>: name[0]
  'alex'
>>:name[4]
  'mack'

六、元组

  元组(Tuple)和列表一样,也是一些列数据的有序集合,但和列表不同的是,元组 不能被修改,又被称为只读列表。在python中用()来表示元组。

  元组的特点:

    1、可以存放多个值

    2、不可变

    3、按照从左到右的顺序定义元组元素,从下标0开始。

  元组的创建:

ages = (11, 22, 33, 44, 55)
或
ages = tuple((11, 22, 33, 44, 55))

常用操作:

# 索引
>>> ages = (11, 22, 33, 44, 55)
>>> ages[0]
11
>>> ages[-1]
55
# 循环
>>>for age in ages:
           print(age)
11
22
33
44
55

注意:元组本身不可变,如果元组中含有其他可变元素,则这些可变元素可以改变,比如:

>>> data = (99, 88, ['alex', 'jack'], 33)
>>> data[2][0] = '金角大王'
>>> data
(99, 88, ['金角大王', 'jack'], 33]

为啥呢?因为元组只是存每个元素的内存地址,上面['alex', 'jack'] 这个列表的内存地址存在元组里确实不可变,但是列表中的元素存储的内存地址在另外一块地址空间,是可变的。

 七、字典

   字典(Dict)是一系列键(key)-值(vlaue)对组成的无序集合,键和值之间用冒号(:)隔开,而键值对之间用逗号隔开。定义的语法如下:

  {key1:value1, key2:value2}

  示例:

info = {
    name:"张三",
    age:18,
    sex:"male",
    height:180
}

  字典的特性:

  1、是key-value结构

  2、key必须为不可变数据类型、必须唯一。比如:字符串、元组、数字等

  3、可以存放多个value、value可以被修改,可以不唯一;

  4、无序

  5、查询速度快,而且不受dict 大小影响。

八、集合

   集合(Set)是一个无序的不重复元素的组合。python中用{ }来表示集合!

  示例: 

a = {1, 2, 4, "alex", "rain", (1,2)}

  集合的特点:

  1、集合里面的元素不可变,代表你不能存储一个列表或者字典在集合里,只能存储数字、字符串和元组等不可变类型的数据;

  2、集合天生去重,在集合里无法存重复的数据;

  3、无序,不像列表、元组那样可以通过索引来标记在列表中的位置,集合中的元素是无序的,没有先后之分,比如:{1,2,3}和{3,2,1}是同一个集合。

  基于上面的特性,集合可以做两件事,去重及关系运算。


  

猜你喜欢

转载自www.cnblogs.com/feixiangshuoshuo/p/12385071.html
今日推荐