longxd

导航

 

 

这里我们主要描述基础的数值类型、序列类型和散列类型。每种数据类型后续有详解。


1.数值类型

数值类型就是我们平常用来做计算的数字类型,在python中有如下几种数值类型:

 1.1整型:

>>> a = 123
>>> type(a)
<class 'int'>
>>> 

1.2浮点型:

>>> f1 = 1.23
>>> type(f1)
<class 'float'>
>>> 

1.3布尔型:

>>> b1 = True
>>> type(b1)
<class 'bool'>
>>> 

1.4复数型:

>>> c1 = 1+2.3j     #复数型(在python中用小写 j ,表示虚部,用其他的字母不行)
>>> type(c1)
<class 'complex'>
>>> 

 


2.序列类型

在python中三种序列类型,序列类型简单来说就是对象里面的元素是有顺序的。

 2.1字符串(str)

s1 = 'ab12!'
>>> s1
'ab12!'
>>> type(s1)
<class 'str'>
>>> 

2.2列表(list)

>>> li = ['abc',123,'!']
>>> li
['abc', 123, '!']
>>> type(li)
<class 'list'>
>>> 

2.3元组(tuple)

>>> tu = ('abc',123,2.2,'!')
>>> tu
('abc', 123, 2.2, '!')
>>> type(tu)
<class 'tuple'>
>>> 

 


3.散列类型 

 3.1集合(set)

注意创建空集合要使用工厂方法se = set(),不能使用se = {}

>>> se = {'2',1,23}
>>> se
{'2', 1, 23}
>>> type(se)
<class 'set'>
>>> se1 = set()
>>> type(se1)
<class 'set'>
>>> 
>>> se2 = {}
>>> type(se2)
<class 'dict'>
>>> 

 3.2字典(dict) 

>>> di = {'a':'a1','b':22,33:44}
>>> di
{'a': 'a1', 'b': 22, 33: 44}
>>> type(di)
<class 'dict'>
>>> 

 


区分可变与不可变的数据类型: 

可变:列表、集合、字典

不可变:int(整型)、浮点型、复数、布尔型、字符串、元组。

>>> 
>>> #1,整型是不可变的,因为它的值发生变化后,对应的id也随着改变了。
>>> a = 123
>>> type(a)
<class 'int'>
>>> id(a)
1473998880
>>> a =234
>>> id(a)
1474002432
>>> 
>>>#2,浮点型是不可变的,因为它的值发生变化后,对应的id也随着改变了。
>>> f = 1.2
>>> type(f)
<class 'float'>
>>> id(f)
5777976
>>> f = 1.23
>>> id(f)
5776296
>>> 
>>> #3,复数是不可变的,因为它的值发生变化后,对应的id也随着改变了。
>>> c = 1+2.3j
>>> type(c)
<class 'complex'>
>>> id(c)
45359024
>>> c = 2+2.3j
>>> id(c)
45358032
>>> 
>>> #4,字符串是不可变的,因为它的值发生变化后,对应的id也随着改变了。
>>> s = 'abc'
>>> type(s)
<class 'str'>
>>> id(s)
34884664
>>> s=s.replace('c','3')
>>> s
'ab3'
>>> id(s)
45947680
>>> 
>>> #5,列表是可变的,因为它的值发生变化后,对应的id没有改变。
>>> li = [1,2,3]
>>> type(li)
<class 'list'>
>>> id(li)
46027144
>>> li.append('a')
>>> li
[1, 2, 3, 'a']
>>> id(li)
46027144
>>> 
>>> #6,元组是不可变的。
>>> tu = (1,2,3,'abc',[7,8,9])
>>> type(tu)
<class 'tuple'>
>>> 
>>> #7,集合是可变的,因为它的值发生变化后,对应的id没有改变。
>>> se = {1,2,'abc'}
>>> type(se)
<class 'set'>
>>> id(se)
45495016
>>> se.update('a')
>>> se
{1, 2, 'a', 'abc'}
>>> id(se)
45495016
>>> 
>>> #8,字典是可变的,因为它的值发生变化后,对应的id没有改变。
>>> di = {'a':1,'b':2}
>>> type(di)
<class 'dict'>
>>> id(di)
46042424
>>> di['a'] = 'a'
>>> di
{'a': 'a', 'b': 2}
>>> id(di)
46042424
>>> 
>>> #9,布尔型是不可变的。
>>> b = True
>>> type(b)
<class 'bool'>
>>> id(b)
1473503456
>>> b = False
>>> id(b)
1473503488

  

posted on 2018-03-01 14:51  longxd  阅读(256)  评论(0编辑  收藏  举报