Python标准类型的分类
Python有3种不同的模型可以帮助对基本类型进行分类,这些类型更好的理解类型之间的相互关系以及他们的工作原理。
1 存储模型
能保存单个字面对象的类型,称为原子或标量存储;
能保存多个对象的类型,称为容器。
| 分类 | Python类型 |
| 标量/原子类型 | 数值(所有的数值类型),字符串(全部都是文字) |
| 容器类型 | 列表,元组,字典 |
2 更新模型
以对象创建成功后,它的值是否可以进行更新为依据进行的分类,分为可变类型和不可变类型。
| 分类 | Python类型 |
| 可变类型 | 列表,字典 |
| 不可变类型 | 数字、字符串、元组 |
3 访问模型
根据访问存储数据的方式对数据类型进行分类,在访问模型中有三种访问方式:直接访问、顺序访问和映射访问。
对非容器类型可以直接访问,所以归纳到直接访问类型中;
字符串、列表和元组都可以按从0开始的索引顺序访问。一次可以该问一个元素或多个元素(切片),所以归纳到顺序访问类型中;
元素无序存放,可通过一个唯一键来访问,这类归纳到映射访问类型中,它容纳的是哈希键-值对的集合。
| 分类 | Python类型 |
| 直接访问 | 数字 |
| 顺序访问 | 字符串、列表、元组 |
| 映射访问 | 字典 |
3种类型总结归纳如下表:
| 数据类型 | 存储模型 | 更新模型 | 访问模型 |
| 字数 | 标量 | 不可更改 | 直接访问 |
| 字符串 | 标量 | 不可更改 | 直接访问 |
| 列表 | 容器 | 可更改 | 顺序访问 |
| 元组 | 容器 | 不可更改 | 顺序访问 |
| 字典 | 容器 | 可更改 | 映射访问 |
载自《Python核心编程(第二版)》
Python标准类型的分类的更多相关文章
- python动态类型
在python中,省去了变量声明的过程,在引用变量时,往往一个简单的赋值语句就同时完成了,声明变量类型,变量定义和关联的过程,那么python的变量到底是怎样完成定义的呢? 动态类型 python使用 ...
- Python基础:01Python标准类型分类
有三种不同的模式可以帮助我们对基本类型进行分类,每种模型都展示了这些类型之间的相互关系. 一:存储模式 这种分类模式,看这种类型的对象能保存多少个对象. 一个能保存单个字面对象的类型称为原子或标量存储 ...
- python基础----isinstance(obj,cls)和issubclass(sub,super)、反射、__setattr__,__delattr__,__getattr__、二次加工标准类型(包装)
一.isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)检查是否ob ...
- python基础之类的内置__setattr__,__delattr__,__getattr__和 二次加工标准类型(包装)
一.内置attr:__setattr__,__delattr__,__getattr__ __setattr__ #添加/修改属性会触发它的执行 __delattr__ #删除属性的时候会触发 __g ...
- 编程语言分类及python所属类型
编程语言分类及python所属类型 编程语言主要从以下几个角度为进行分类:编译型和解释型.静态语言和动态语言.强类型定义语言和弱类型定义语言. 编译和解释的区别是什么? 编译器是把源程序的每一条语句都 ...
- Python学习15之python内置六大标准类型
1.六大标准类型:数值型,str,list,set,tuple,dic 2.数值型:int,float,bool,complex 3.区别: 1)数值型和str,tuple都是不可变类型 而list, ...
- [python标准库]XML模块
1.什么是XML XML是可扩展标记语言(Extensible Markup Language)的缩写,其中的 标记(markup)是关键部分.您可以创建内容,然后使用限定标记标记它,从而使每个单词. ...
- 十:python 对象类型详解六:文件
一:文件 1.简介:内置open 函数会创建一个python 文件对象,可以作为计算机上的一个文件链接.在调用open 之后,可以通过调用返回文件对象的方法来读写相关外部文件.文件对象只是常见文件处理 ...
- [Python]可变类型,默认参数与学弟的困惑
一.学弟的困惑 十天前一个夜阑人静.月明星稀的夜晚,我和我的朋友们正在学校东门的小餐馆里吃着方圆3里内最美味的牛蛙,唱着最好听的歌儿,畅聊人生的意义.突然,我的手机一震,气氛瞬间就安静下来,看着牛蛙碗 ...
随机推荐
- 图像处理笔记(二十一):halcon在图像处理中的运用
概要: 分水岭算法做图像分割 二维码识别 稍后将其他几篇笔记全都补充上概要方便查询. 分水岭算法做图像分割 使用距离变换结合分水岭算法实现图像分割,可以用来分割仅通过阈值分割还是有边缘连接在一起的情况 ...
- spring cloud alibaba 简介
### Spring Cloud Alibaba [官方github地址](https://github.com/alibaba/spring-cloud-alibaba) Spring Cloud ...
- 让搭建在 Github Pages 上的 Hexo 博客可以被 Google 搜索到
title: 让搭建在Github Pages上的Hexo博客可以被Google搜索到 date: 2019-05-30 23:35:44 tags: 配置 --- 准备工作 搭建好的博客 npm & ...
- 百万年薪python之路 -- MySQL数据库之 存储引擎
MySQL之存储引擎 一. 存储引擎概述 定义: 存储引擎是mysql数据库独有的存储数据.为数据建立索引.更新数据.查询数据等技术的实现方法 首先声明一点: 存储引擎这个概念只有MySQL才有. ...
- C# 中yield关键字解析
前言 前段时间了解到yield关键字,一直觉得还不错.今天给大家分享一下yield关键字的用法.yield return 返回集合不是一次性返回所有集合元素,而是一次调用返回一个元素.具体如何使用yi ...
- SpringBoot SpringCloud版本对应
- JavaScript随机生成布尔值
//方法一 var rand = Boolean(Math.round(Math.random())); conosole.log(rand) // 方法二: var arr = [true,fals ...
- 2018.8.2 python中is和==的区别
一.is 和==的区别 1.is 比较的是左右两边的内存地址, ==比较的是左右两边的值. 2.id() 通过id()可以查看一个变量表示的值得内存中的地址. s = 'alex' s1 = 'ale ...
- oracle数据库锁表,什么SQL引起了锁表?ORACLE解锁的方法
--查询数据库锁表记录 select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.l ...
- js中几种继承实现
继承实现的几种方式 1.借助call实现继承 function p1() { this.name = 'p1' this.say = function () { console.log(this.na ...