数据宠物

V1

2022/04/08阅读:27主题:橙心

S001-说说Python的序列

什么是序列

对字符串、列表、元组、字典、集合等的一种统称

序列的分类

进一步对各种序列分类,分为可变类型,包括列表、字典、集合;不可变类型,包括字符串、元组

所谓可变与不可变即数据能直接进行修改就是可变,否则就是不可变。

下面属于一些电脑的基础理论知识,我也非科班出身,尽可能说清楚什么是可变与不可变,说的不对的地方还望海涵及指正,感谢。

我们看到的数据其实是只是一个外在表现。在编程中,一个数据,它有与之相对应的数据类型,在电脑内存中存储的位置。分别可以通过type()、id()两个函数获取相应的信息。

创建一个编号为001的空房间,通过赋值的方式将数据x和数据x的数据类型等信息放入这个房间,当我要用数据x的时候,先找到其对应的房间号再调用对应的数据。

所以在判断可变与不可变时就是看当变量值改变时,对应的id内存地址是不是也随之变化。当变量值改变,id内存地址不变时即为可变类型;当变量值改变,id内存地址改变了就为不可变类型。

a = 1
b = '1'
print(a)
print(type(a))
print(id(a))
print('-'*15+'这是分割线'+'-'*15)
print(b)
print(type(b))
print(id(b))

---------------运行结果---------------
1
<class 'int'>
1989485685040
---------------这是分割线---------------
1
<class 'str'>
1989486313840

将数字1赋值与a,将字符1赋值与b,通过打印函数print()函数,我们可以看到a的数据类型为整数型int,存储位置为1989485685040,它与数值1本身的数据类型和1的id是一致的;b的数据类型是文本型str,id也与1的id不一样。

各序列的演示

str_ = 'Hello Word'
print(str_)
print(type(str_))
print('-'*15+'这是分割线'+'-'*15)

list_ = ['孙行者','行者孙','者行孙','孙悟空']
print(list_)
print(type(list_))
print('-'*15+'这是分割线'+'-'*15)

tuple_ = ('孙悟空','猪八戒','沙和尚')
print(tuple_)
print(type(tuple_))
print('-'*15+'这是分割线'+'-'*15)

dict_ = {'name''gaoqi''age'18'city''nanchang'}
print(dict_)
print(type(dict_))
print('-'*15+'这是分割线'+'-'*15)

set_ = {1,2,3,4,4,5,5,6,7}
print(set_)
print(type(set_))


---------------运行结果---------------
Hello Word
<class 'str'>
---------------这是分割线---------------
['孙行者', '行者孙', '者行孙', '孙悟空']
<class 'list'>
---------------这是分割线---------------
('孙悟空''猪八戒''沙和尚')
<class 'tuple'>
---------------这是分割线---------------
{'name':
 'gaoqi''age'18'city''nanchang'}
<class 'dict'>
---------------这是分割线---------------
{1, 2, 3, 4, 5, 6, 7}
<class 'set'>

小结

  1. 序列包含字符串、列表、元组、字典、集合等。
  2. 可变类型序列、不可变类型序列
  3. 序列其实就是一个内存块(id),拥有特定的值(value),支持特定类型数据(type)

毕竟不是科班出身,有什么不足和不对的地方,各位观众老爷还请多多海涵,多多指正,也欢迎加我好友,一起交流。

分类:

后端

标签:

Python

作者介绍

数据宠物
V1