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 译者:陈祥安 ...
随机推荐
- Tomcat 调优总结
一. jvm参数调优 常见的生产环境tomcat启动脚本里常见如下的参数,我们依次来解释各个参数意义. export JAVA_OPTS="-server -Xms1400M -Xmx140 ...
- 【又见LCS】NYOJ-37 回文字符串
[题目链接] 回文字符串 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的,比如"aba& ...
- windows批处理中的%0 %1 %2 %3
原来就是参数的顺序.....倒...我还查了老半天
- 阿里云容器服务--配置自定义路由服务应对DDOS攻击
阿里云容器服务--配置自定义路由服务应对DDOS攻击 摘要: 容器服务中,除了slb之外,自定义路由服务(基于HAProxy)也可以作为DDOS攻击的一道防线,本文阐述了几种方法来应对普通规模的DDO ...
- delete drop truncate
一.相同点 1 truncate.不带where子句的delete.drop都会删除表内的数据2 drop.truncate都是DDL语句(数据定义语言),执行后会自动提交 二.不同点 1trunca ...
- MyBatis 入门到精通(三) 高级结果映射
MyBatis的创建基于这样一个思想:数据库并不是您想怎样就怎样的.虽然我们希望所有的数据库遵守第三范式或BCNF(修正的第三范式),但它们不是.如果有一个数据库能够完美映射到所有应用程序,也将是非常 ...
- GIT 分支的理解
乎所有的版本控制系统都以某种形式支持分支. 使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线. 在很多版本控制系统中,这是一个略微低效的过程——常常需要完全创建一个源代码目录的副本 ...
- Linux操作系统上用数据泵导库
1.在Linux上 创建物理目录dp_dir,存放数据库.dmp文件: 用root用户登录,切换到oracle用户,用oralce身份创建物理目录如下: [root@server36 oracle]# ...
- python学习之self,cls,staticmethod,classmethod
一.总体说明 python类里会出现这三个单词,self和cls都可以用别的单词代替,类的方法有三种, 一是通过def定义的 普通的一般的,需要至少传递一个参数,一般用self,这样的方法必须通过一个 ...
- Binder机制
在Android系统的Binder机制中,由一系统组件组成,分别是Client.Server.Service Manager和Binder驱动程序,其中Client.Server和Service Ma ...