Python 类型的分类
1、存储模型,对象可以保存多少个值。如果只能保存一个值,是原子类型。如果可以保存多个值,是容器类型。数值是原子类型,元组,列表,字典是容器类型。考虑字符串,按道理,字符串应该是容器类型,因为它包含多个字符。但是,Python中没有字符类型,也就是没有字符的概念,因此,把字符串归为原子类型。
2、更新模型,对象的值是否可以更新。Python彻底分离了引用和实体,比如a=1; b=a; b=2; 可以认为,a指向的内存内容不允许修改,现在b也指向这块内存,那么我要修改b,该怎么办呢?
只能是重新分配一块内存,内容为2,然后修改b的指向,让b指向这块内存。a还是指向原来的内存,内容不变。
思考,Python为什么要这样设计?
这样设计有个好处,通过a传递给其他对象,不用担心a的值发生变化。如果要修改a的值,只能直接修改a,使它指向其它的内存。
3、访问模式,分为直接访问,顺序访问,映射访问。
| 数据类型 | 存储模型 | 更新模型 | 访问模型 |
| 数值 | 原子类型 | 不可变 | 直接访问 |
| 字符串 | 原子类型 | 不可变 | 顺序访问 |
| 元组 | 容器 | 不可变 | 顺序访问 |
| 列表 | 容器 | 可变 | 顺序访问 |
| 字典 | 容器 | 可变 | 映射访问 |
Python 类型的分类的更多相关文章
- python的数据结构分类,以及数字的处理函数,类型判断
python的数据结构分类: 数值型 int:python3中都是长整形,没有大小限制,受限内存区域的大小 float:只有双精度型 complex:实数和虚数部分都是浮点型,1+1.2J bool: ...
- Python标准类型的分类
Python有3种不同的模型可以帮助对基本类型进行分类,这些类型更好的理解类型之间的相互关系以及他们的工作原理. 1 存储模型 能保存单个字面对象的类型,称为原子或标量存储: 能保存多个对 ...
- Python 类型
文章出处:http://www.cnblogs.com/winstic/,请保留此连接 python是动态类型语言,不需要预先声明变量的类型,变量类型和值在赋值的那一刻被初始化 python使 ...
- python类型学习
python类型学习 标准类型 数字 Integer 整型 Boolean 布尔型 Long integer 长整型 Floating point real numer 浮点型 Complex nu ...
- Python -类型提示 Type Hints
为什么会有类型提示 Python是一种动态类型语言,这意味着我们在编写代码的时候更为自由,运行时不需要指定变量类型 但是与此同时 IDE 无法像静态类型语言那样分析代码,及时给我们相应的提示,比如字符 ...
- BlocksKit(1)-基本类型的分类
BlocksKit(1)-基本类型的分类 BlocksKit是一个用block的方式来解决我们日常用对集合对象遍历.对象快速生成使用.block作为委托对象的一种综合便利封装库.这个库主要分三个大块C ...
- C Python类型互换
从Python到C的转换用PyArg_Parse*系列函数,int PyArg_ParseTuple():把Python传过来的参数转为C:int PyArg_ParseTupleAndKeyword ...
- Python类型和对象
关键字:Python 类型 对象原文:http://wiki.woodpecker.org.cn/moin/PyTypesAndObjects 关于本书 解释新式的Python对象(new-style ...
- python类型检测最终指南--Typing模块的使用
正文共:30429 字 预计阅读时间:76分钟 原文链接:https://realpython.com/python-type-checking/ 作者:Geir Arne Hjelle 译者:陈祥安 ...
随机推荐
- liunx安装qq
http://www.07net01.com/电脑玩物 http://www.07net01.com/2014/09/68186.html 安装qq 一开始,我在ubuntu14.04下安装的QQ版本 ...
- 一天一个Java基础——排序
插入排序 直接插入排序: 当插入第i个数据元素k时,由前i-1个数据元素组成已排序的数据序列,将k与数据序列中各数据元素依次进行比较后,插入到数据序列的适当位置,使得插入后的数据序列仍是排序的. 直接 ...
- Java泛型的好处
java 泛型是java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数.这种参数类型可以用在类.接口和方法的创建中,分别称为泛型类.泛型接口.泛型方法. ...
- ASIHttpRequest编译不通过
转:http://blog.sina.com.cn/s/blog_67a5e47201014tof.html Undefined symbols for architecture i386: &q ...
- POJ2976 Dropping tests 01分数规划
裸题 看分析请戳这里:http://blog.csdn.net/hhaile/article/details/8883652 #include<stdio.h> #include<a ...
- 《Python核心编程》 第十章 错误和异常
10–1. 引发异常. 以下的哪个因素会在程序执行时引发异常? 注意这里我们问的并不是异常的原因. a) 用户 b) 解释器 c) 程序 d) 以上所有 e) 只有 b) 和 c) f) 只有 a) ...
- Selenium2Library系列 keywords 之 _SelectElementKeywords 之 get_selected_list_value(self, locator)
def get_selected_list_value(self, locator): """Returns the value of the selected elem ...
- 测试xss和xsf
xss注入攻击: 123123123 被动注入: 1231231231231231 主动注入: 对不起,你需要登录才能评论 用户名 密码
- Using Apache Maven
Apache Maven是一个软件项目管理的综合工具(management and comprehension tool).可以将WAR文件部署到App Engine中.为了加快部署的速度,App E ...
- 更换Oracle备份数据文件
应用背景:需要查看和修改一下Interlib中的数据,所以要反复的将备份数据进行导入和清空.整理一下步骤 删除tablespace drop tablespace interlib including ...