您的位置:首页 > 编程语言 > Python开发

(2)python 基本数据类型

2017-10-27 14:26 141 查看
1,数值类型

    1.1整型 int

整型的概念我觉得我就不用多说了

    1.2浮点型  float

浮点型的意思就是我们通常说的小数类型

    1.3布尔型 bool

布尔型为什么是数值类型?因为在python中 1+False=1,1+True=2,即False是0,True是1



1.4 复数型 complex

在python中复数用小写的 j 表示虚部,不常用知道就行



2,序列类型

顾名思义,序列序列 就是一组有序的列表。python中一共有三中序列类型

2.1 list 列表

列表是用  []  定义的。 例:  list=[1,2,3,'hello']

列表的特性:可变、有序

2.2 tuple 元祖

元祖是用 () 定义的。 例:  tuple=(1,2,4,"hello")

元祖的特性:不可变、有序。

2.3 str 字符串

字符串使用 引号 “ ” 定义的可以杀双引号",也可以是单引号',还可以是三个引号'''

例: str= 'hello'

字符串的特性:不可变,有序

2.4 什么是可变类型?敲黑板画重点。。。

2.4.1 可变的概念就是,当对象修改之后内存地址不变。看下面例子

我定义一个可变的list对象

list=[1,2,3]

查看一下它的内存地址

id(list) 能看到,它在我电脑的内存地址是 2367058747912



然后我们对list中的一个元素进行修改

list[1]=5



现在可以看到的是list对象已经被修改了,现在我们再重新看一下它的内存地址

id(list) 是不是发现 它的内存地址依旧是 2367058747912



可变类型的总结:

当对象被修改时,内存地址没有发生改变。也就是说当对象被修改时没有重新在内存中开辟一个新空间,而是对自己进行改变。得出一个结论,该对象是可以被改变的。

2.4 什么是不可变类型?敲黑板画重点。。。

我们用一个不可变类型 tuple做个例子,首先我们需要定义一个tuple 元祖类型,然后查看一下内存地址

tu=(1,2,3,4)
id(tu)
能看到现在tu的内存地址是:2367067687336

现在对这个元祖 tuple进行改变。注意,因为元祖是不可变类型所以我们不能对它直接进行修改需要先把它转换成list

tu=list(tu)
tu[1]=5

然后再把它给转换回来变成tuple对象:

tu=tuple(tu)

好了,现在我们查看一下tuple的值和内存地址

id(tu)
现在tu的内存地址已经变成了 2661109890216

不可变类型的总结:

当对象被修改时,内存地址跟着发生改变。也就是说当对象被修改时,重新在内存中开辟一个新空间。得出一个结论,该对象是不可以被改变的,如果被改变就是重新开辟空间。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: