热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【数据类型】种种数据类型

当我们在说同一个词的时候,它的意思往往不是同一个。因此做出相应对比整理来揭示区别。一、数据模型类型概念模型逻辑模型常见逻辑模型:关系模型(


当我们在说同一个词的时候,它的意思往往不是同一个。因此做出相应对比整理来揭示区别。



一、数据模型类型


  1. 概念模型


  1. 逻辑模型


常见逻辑模型:关系模型(mysql)、列族模型(HBase、Cassandra,就是OneNote嵌套表格那样)、键值模型(redis、riak)、文档模型(MongoDB、CouchBase)、图模型(Neo4j、FlockDB)、层次模型(IMS)、网状模型。



二、文件数据类型


数据类型:数值型、文本型、音频型、视频型、图像型、POI型(point of interest,例如地图点)


数据结构化程度:结构化数据(二维表)、非结构化数据(文图音影,逻辑结构不严格)、半结构化数据(XML、JSON)



三、MySQL数据类型


  1. 数字


  1. 字符串


  1. 时间



四、python的数据类型


1.数值型:整数、浮点数、复数、布尔值(在python可记为0或1因此为数值型)


2.串:字符串、字节串(0-255)


3.容器型:集合、元组、列表、字典、数组(数组在原生python中没有但numpy库有)


其实各个标准资料中没有说明Python有值类型和引用类型的分类,这个分类一般是C++和Java中的。但是语言是相通的,所以Python肯定也有类似的。实际上Python 的变量是没有类型的,这与以往看到的大部分语言都不一样(JS等弱类型的也是这样)。但 Python 却是区分类型的,那类型在哪里呢?事实是,类型是跟着内存中的对象走的。类型属于对象,变量是没有类型的。一般也分实参和形参。


《learning python》中的一个观点:变量无类型,对象有类型。


Python中的变量都是指针,这确实和之前学过的强类型语言是有不同的。因为变量是指针,所以所有的变量无类型限制,可以指向任意对象。指针的内存空间大小是与类型无关的,其内存空间只是保存了所指向数据的内存地址。Python 的所有变量其实都是指向内存中的对象的一个指针。


此外,对象还分两类:一类是可修改的,一类是不可修改的。我的理解是把可修改(mutable)的类型叫做值类型,不可修改(immutable)类型叫做引用类型。


对象=确定内存空间+存储在这块内存空间中的值。


Java中,对象是分配在堆上的,存储真正的数据,而引用是在栈中开辟的内存空间用于引用某一个对象(值类型的变量也是存储到栈上)。


在Python中,数值(整型,浮点型),布尔型,字符串,元组属于值类型,本身不允许被修改(不可变类型),数值的修改实际上是让变量指向了一个新的对象(新创建的对象),所以不会发生共享内存问题。 这种方式同Java的不可变对象(String)实现方式相同。原始对象被Python的GC回收。



五、Javascript的数据类型


1.String 字符串


2.Number 数值


3. Boolean 布尔值 true/false


4. Null 空值 null


  1. Undifined 未定义 undifined


  1. Object 对象


  1. Symbol(ES6)



六、C的数据类型


  1. 基本类型又包括整型类型、浮点类型


  1. 整型类型 : {基本类型(int)、短整型(short int)、长整型(long int)、*双长整型(long long int)、字符型(char)、*布尔型(bool)}


  1. 浮点类型: {单精度浮点型(float)、双精度浮点型(double)、复数浮点型(float_complex、double_complex、long long_complex) }


  1. 枚举类型: (enum)


  1. 空类型 :(void)


  1. 派生类型: {指针类型(*)、数组类型([ ])、结构体类型(struct)、共用体类型(union)、函数类型}



七、java的数据类型


​ Java基本类型共有八种,基本类型可以分为三类,字符类型char,布尔类型boolean以及数值类型byte、short、int、long、float、double。数值类型又可以分为整数类型byte、short、int、long和浮点数类型float、double。JAVA中的数值类型不存在无符号的,它们的取值范围是固定的,不会随着机器硬件环境或者操作系统的改变而改变。实际上,JAVA中还存在另外一种基本类型void,它也有对应的包装类 java.lang.Void,不过我们无法直接对它们进行操作。



八、haskell的数据类型


  1. 数值型


  1. 字符串


  1. 布尔型



九、MATLAB的数据类型


1.元胞



十、数据结构的数据类型


1.链表


2.数组


3.栈


  1. 队列


  1. 哈希表


  1. 堆(图)


  1. 二叉树




推荐阅读
author-avatar
李伯翔刚瑋嘉军
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有