Python基本数据分类方式

一、 内存模型

依据变量在内存中的组织分类

Python的类型,
就象绝大多数其它语言一样,能容纳一个或多个值。一个能保存单个字面对象的类型我们称它为原子标量存储,那些可容纳多个对象的类型,我们称之为容器存储。(容器对象有时会在文档中被称为复合对象,不过这些对象并不仅仅指类型,还包括类似类实例这样的对象)

存储模型


分类     

                Python 类型
         标量/原子类型 数值(所有的数值类型)字符串(全部是文字)
           容器类型  列表、元组、字典

二、访问模型

根据访问我们存储的数据的方式对数据类型进行分类。在访问模型中共有三种访问方式:直接存取,顺序,和映射

              Python数据类型                  访问模型
                       数字                   直接访问
            字符串、列表、元组                   顺序访问
                       字典                   映射访问

三、更新模型

某些类型允许他们的值进行更新,而另一些则不允许。(值进行变化)

       数据类型            存储模型            更新模型          访问模型
           数字             Scalar           不可更改          直接访问
          字符串             Scalar           不可更改          顺序访问
           列表           Container             可更改         顺序访问
           元组           Container           不可更改          顺序访问
           字典           Container            可更改         映射访问

补充:

字典是一种无序存储结构,包括关键字(key)和关键字对应的值(value)。字典的格式为:dictionary =
{key:value}。关键字为不可变类型,如字符串、整数、只包含不可变对象的元组,列表等不可作为关键字。如果列表中存在关键字对,可以用dict()直接构造字典。

set和dict的唯一区别仅在于没有存储对应的value,但是,set的原理和dict一样,所以,同样不可以放入可变对象,因为无法判断两个可变对象是否相等,也就无法保证set内部“不会有重复元素”。试试把list放入set,看看是否会报错。

本博在字典(dict)和集合(set)有些模糊不清,如果您看了本博有建议或者想法,可以一起讨论。

QQ:2406235544

时间: 2025-01-04 17:03:08

Python基本数据分类方式的相关文章

Python 的执行方式,字节码 bytecode

这里有个博客讲 Python 内部机制,已经有一些中文翻译. 可能因为我用的Python 3.5,例子跑起来有些不一样. 此外,我又查了其他一些参考资料,总结如下: Python 的执行方式 先看一个比较详细的步骤分解: >>> a = "hello" 输入这行代码之后,你一按回车,Python就会执行四步操作: 1  lexing: 词法分析,就是把一个句子分解成 token.大致来说,就是用str.split()可以实现的功能. 2  parsing:解析,就是把

理解 Python 的执行方式,与字节码 bytecode 玩耍 (下)

上次写到,Python 的执行方式是把代码编译成bytecode(字节码)指令,然后由虚拟机来执行这些 bytecode 而 bytecode 长成这个样子:  b'|\x00\x00d\x01\x00\x14S' .显然这个样子适合机器看,不适合人类看. 虽然你可以通过查字典的方式,手动把这段 bytecode 编写成人类可以看得懂的样子, 但是这么劳累的事情,为什么要自己亲手来做呢,让你的男仆机器来做不就好了吗. Python 的反汇编工具 dis 就可以办到这件事.下面用绚丽的紫色来对di

python通过get方式,post方式发送http请求和接收http响应-urllib urllib2

python通过get方式,post方式发送http请求和接收http响应-- import urllib模块,urllib2模块, httplib模块 http://blog.163.com/[email protected]/blog/static/132229655201231085444250/ 测试用CGI,名字为test.py,放在apache的cgi-bin目录下:#!/usr/bin/pythonimport cgidef main():     print "Content-t

Python模块调用方式详解

Python模块调用方式详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 原文地址:https://www.cnblogs.com/yinzhengjie/p/8586301.html

转载:python文件打开方式详解——a、a+、r+、w+区别

第一步 排除文件打开方式错误: r只读,r+读写,不创建 w新建只写,w+新建读写,会将文件内容清零 (以w方式打开,不能读出.w+可读写) **w+与r+区别: r+:可读可写,若文件不存在,报错:w+: 可读可写,若文件不存在,创建 r+与a+区别: [python] view plain copy print? <span style="background-color: rgb(255, 255, 255);">fd = open("1.txt"

python字符串连接方式有哪些

在python开发中,会经常用到python字符串http://www.maiziedu.com/group/article/10646/,在python字符串操作中常用的无外乎就是替换.删除.截取.复制.连接.比较.查询.分割等等,今天小编不给大家讲那么多,就单独讲讲python字符串连接的方式有哪些,今天在写代码,顺便总结一下: 最原始的字符串连接方式:str1 + str2 python 新字符串连接语法:str1, str2 奇怪的字符串方式:str1 str2 % 连接字符串:'nam

【原创】由于python的导入方式引起的深坑

目录结构: test/ sacc/ __init__.py app.py logger.py /views __init__.py main.py 事情是这样的,logger里面是一个类LoggerFactory, 这个类里面有一个类变量保存着日志logger,同时有一个get函数和一个init函数,init函数负责初始化,get负责获取这个logger. 我在app.py初始化之后,并在随后的处理过程中打印了日志,app.py调用了main.py的函数,在main.py里面的函数中首先通过Lo

python字符串连接方式(转)

在python中有很多字符串连接方式,今天就在这里具体总结一下: ①.最原始的字符串连接方式:str1 + str2②.python 新字符串连接语法:str1, str2③.奇怪的字符串方式:str1 str2④.% 连接字符串:'name:%s; sex: ' % ('tom', 'male')⑤.字符串列表连接:str.join(some_list) 下面具体分析一下: 第一种,想必只要是有编程经验的人,估计都知道,直接用 "+" 来连接两个字符串: 'Jim' + 'Green

Python字符串连接方式

python中有很多字符串连接方式,总结一下: 1 最原始的字符串连接方式:str1 + str22 python 新字符串连接语法:str1, str23 奇怪的字符串方式:str1 str24 % 连接字符串:‘name:%s; sex: ’ % ('tom', 'male')5 字符串列表连接:str.join(some_list) 第一种,想必只要是有编程经验的人,估计都知道,直接用 “+” 来连接两个字符串: 'Jim' + 'Green' = 'JimGreen' 第二种比较特殊,如