西门子数据类型详解 数据类型详解是什么

数据类型详解?

数据类型

一、什么是数据类型

数据类型是对数据的分类,例如:整数类型int、浮点类型float、字符串类型str等等

任何数据都有明确的数据类型,例如:18属于整数类型,5.6属于浮点类型,‘hello’属于字符串类型。

二、怎么获取数据的数据类型

1、调用内置函数type可以获取数据的数据类型

print(type(18)) #<class ‘int’>

print(type(0.1)) #<class ‘float’>

print(type(‘aa’)) #<class ‘str’>

三、整数类型

1、整数的不同进制表示方式

整数有4种进制表示方式:

1)10进制:默认的进制

2)2进制:以0b开头

3)8进制:以0o开头

4)16进制:以0x开头

2、整数转换为不同进制的字符串

可以调用内置函数将十进制整数转换为不同进制的字符串:

1)bin():将十进制整数转换为2进制(binary)字符串

2)oct():将十进制整数转换为8进制(octal)字符串

3)hex():将十进制整数转换为16进制(hexadecimal)字符串

print(bin(118)) #0b1110110

print(oct(118)) #0o166

print(hex(118)) #0x76

3、整数的创建

除了直接创建一个整数,还可以调用内置函数int创建整数。

不传递任何参数时,返回整数0

只传递一个参数时,将传递的参数转换为整数

传递两个参数时,第一个参数必须是字符串,第二个指定进制

print(int()) #0

print(int(118)) #118

print(int(118.2)) #118

print(int(‘1110110’,2)) #118

print(int(‘0o166’,8)) #118

print(int(‘0x76’,16)) #118

四、浮点类型

1、什么是浮点数类型

浮点数类型用于表示浮点数,也就是小数。

print(0.11) #0.11

2、浮点数的创建

除了使用小数创建浮点数外,还可以调用内置函数float创建浮点数。

不传递任何参数时,返回浮点数0.0

只传递一个参数时,将传递的参数转换为浮点数

print(float()) #0.0

print(float(8)) #8.0

3、用科学计数法表示浮点数

很大或很小的浮点数可以用科学计数法来表示:men表示:m乘以10的n次方

print(1.4e8) #140000000.0

print(1.4e-4) #0.00014

4、浮点数存储的不精确性

计算机采用二进制存储浮点数时是不精确的,可能会存在误差,因此,对于浮点数的运算需要格外小心

print(1.1 + 2.2 – 3.3) #4.440892098500626e-16

print(1.1 + 2.2) #3.3000000000000003

解决方案:导入模块decimal或fractions

其中,模块decimal用于处理十进制的浮点数,模块fractions用于处理分数

from decimal import Decimal

print(Decimal(‘1.1’) + Decimal(‘2.2’) – Decimal(‘3.3’)) #0.0

from fractions import Fraction

print(Fraction(11,10) + Fraction(22, 10) – Fraction(33, 10)) #0

#Fraction(11,10)表示1.1,Fraction(22, 10)表示2.2

五、布尔类型

1、什么是布尔类型

布尔类型只有两种取值:要么是True,要么是False。

例如:这次数学考试及格了吗?地铁三号线的早班车时间是六点吗?

print(5 > 3) #True

print(5 > 11) #False

2、True的值为1,False的值为0

print(True == 1) #True

print(False == 0) #True

print(True + False +5) #6

延伸阅读

C语言中各种数据类型有什么区别?

1、数据计算类型不同。

基本数据类型分为三类:整数型(定点型)、实数型(浮点型)和字符型。除了基本数据类型,还有构造类型(数组、结构体、共用体、枚举类型)、指针类型、空类型void。

2、各种数据类型的关键词不同。

short、long、int、float、double、char六个关键词表示C语言里六种基本数据类型。

3、不同数据类型占用内存的大小不同。

short占2byte,int占4byte,long占4byte,float占2byte,double占8byte,char占1byte(不同的平台可能占用内存大小不一样,具体的可以用sizeof 测试下)。

Excel 中的数据类型包括?

excel的数据类型包括数值型数据、字符型数据、逻辑型数据、日期型数据。

在 Excel 的单元格中可以输入多种类型的数据,如文本、数值、日期、时间等等。

1.字符型数据。在 Excel 中,字符型数据包括汉字、英文字母、空格等,每个单元格 最多可容纳 32 000 个字符。默认情况下,字符数据自动沿单元格左边对齐。当输入的字符 串超出了当前单元格的宽度时,如果右边相邻单元格里没有数据,那么字符串会往右延伸;

如果右边单元格有数据,超出的那部分数据就会隐藏起来,只有把单元格的宽度变大后才能显示出来。 如果要输入的字符串全部由数字组成,如邮政编码、电话号码、存折帐号等,为了避免 Excel把它按数值型数据处理,在输入时可以先输一个单引号“’”(英文符号),再接着输入具体的数字。

例如,要在单元格中输入电话号码“64016633”,先连续输入“’64016633”,然后敲回车键,出现在单元格里的就是“64016633”,并自动左对齐。

2.数值型数据。在Excel中,数值型数据包括0~9中的数字以及含有正号、负号、货币符号、百分号等任一种符号的数据。默认情况下,数值自动沿单元格右边对齐。在输入过程中,有以下两种比较特殊的情况要注意。

(1) 负数:在数值前加一个“-”号或把数值放在括号里,都可以输入负数,例如要在单元格中输入“-66”,可以连续输入“(66)”,然后敲回车键都可以在单元格中出现“ -66”。

(2) 分数:要在单元格中输入分数形式的数据,应先在编辑框中输入“0”和一个空格,然后再输入分数,否则Excel会把分数当作日期处理。例如,要在单元格中输入分数“2/3”,在编辑框中输入“0”和一个空格,然后接着输入“2/3”,敲一下回车键,单元格中就会出现分数“2/3”。

3.日期型数据和时间型数据。在人事管理中,经常需要录入一些日期型的数据,在录入过程中要注意以下几点:

(1) 输入日期时,年、月、日之间要用“/”号或“-”号隔开,如“2002-8-16”、”2002/8/16”。

(2) 输入时间时,时、分、秒之间要用冒号隔开,如“10:29:36”。

(3) 若要在单元格中同时输入日期和时间,日期和时间之间应该用空格隔开。

三种数据类型及特点?

基本类型(int,double……):构成程序设计的最基础的部分,用于描述不同数据类型量的基本单位(比如int是整数,double是双精度浮点数等)。可以说,凡是涉及到编程的肯定都有它们的存在。
指针类型:用于通过地址简介对内存数据进行操作的一种形式。一般用于底层操作,直接和硬件打交道。或者直接通过内存地址获取内容(比如游戏作弊器中的“金手指”功能很可能就是类似通过内存地址直接读取修改数据达到作弊的目的)。
结构类型:也称“复合数据类型”,是多个基本类型的叠加体。用于自定义某个复杂的结构体使用(比如描述一个人的特性,包括身高、体重等),这些数据如果纯粹使用单个基本类型,势必写很多而且是离散的,不便同步管理。

类别数据有哪些类型?

数据类型有定性,定量;定类,定序,定距,定比等。

1、定性数据包括分类数据和顺序数据,是一组表示事物性质、规定事物类别的文字表述型数据,不能将其量化,只能将其定性。

2、定类数据是由计量形成的,表现为类别,不能区分顺序。数据是事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的未经加工的的原始素材。

3、定序数据是由定序尺度计量形成的,表现为类别,可以进行排序,只能比较大小,不能进行数学运算。

4、定距数据是由定距尺度计量形成的,表现为数值,可以进行加、减运算以精确计算数据。在计算机科学中,数据是指所有能输入到计算机并被计算机程序处理的符号的介质的总称,是用于输入电子计算机进行处理,具有一定意义的数字、字母、符号和模拟量等的通称。

什么叫数据类型?变量的类型定义有什么作用?

数据类型是编程语言中为了对数据进行描述的定义,因为对于机器不能识别数据,而不同数据间的相互运算,在机器内部的执行方式是不一样的.这就要用户先定义数据的特性再进行其它操作.这里的特性也就是数据类型.

只是定义变量的类型,才能知道这个变量可以进行什么操作

什么是数据类型?

数据类型是对数据的分类,例如:整数类型int、浮点类型float、字符串类型str等等

任何数据都有明确的数据类型,例如:18属于整数类型,5.6属于浮点类型,‘hello’属于字符串类型。

从不同角度阐述数据的类型?

数据类型有八种,分别是:数组、栈、队列、链表、树、散列表、堆、图

常用数据结构

各种数据结构的优缺点

1、数组

数组是可以在内存中连续存储多个元素的结构,在内存中的分配也是连续的,数组中的元素通过数组下标进行访问,数组下标从0开始。例如下面这段代码就是将数组的第一个元素赋值为 1:

int[] data = new int[100];data[0] = 1;

优点:

1、按照索引查询元素速度快

2、按照索引遍历数组方便

缺点:

1、数组的大小固定后就无法扩容了

2、数组只能存储一种类型的数据

3、添加,删除的操作慢,因为要移动其他的元素。

适用场景:频繁查询,对存储空间要求不大,很少增加和删除的情况

2、栈

栈是一种特殊的线性表,仅能在线性表的一端操作,栈顶允许操作,栈底不允许操作。 栈的特点是:先进后出,或者说是后进先出,从栈顶放入元素的操作叫入栈,取出元素叫出栈。

栈的结构就像一个集装箱,越先放进去的东西越晚才能拿出来,所以,栈常应用于实现递归功能方面的场景,例如斐波那契数列。

3、队列

队列与栈一样,也是一种线性表,不同的是,队列可以在一端添加元素,在另一端取出元素,也就是:先进先出。从一端放入元素的操作称为入队,取出元素为出队。使用场景:因为队列先进先出的特点,在多线程阻塞队列管理中非常适用。

4、链表

链表是物理存储单元上非连续的、非顺序的存储结构,数据元素的逻辑顺序是通过链表的指针地址实现,每个元素包含两个节点,一个是存储元素的数据域 (内存空间),另一个是指向下一个节点地址的指针域。根据指针的指向,链表能形成不同的结构,例如单链表,双向链表,循环链表等。

链表的优点:

链表是很常用的一种数据结构,不需要初始化容量,可以任意加减元素;

添加或者删除元素时只需要改变前后两个元素节点的指针域指向地址即可,所以添加,删除很快;

缺点:

因为含有大量的指针域,占用空间较大;

查找元素需要遍历链表来查找,非常耗时。

适用场景:

数据量较小,需要频繁增加,删除操作的场景

5、树

树是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫作 “树” 是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:

每个节点有零个或多个子节点;

没有父节点的节点称为根节点;

每一个非根节点有且只有一个父节点;

除了根节点外,每个子节点可以分为多个不相交的子树;

在日常的应用中,我们讨论和用得更多的是树的其中一种结构,就是二叉树。

二叉树是树的特殊一种,具有如下特点:

1、每个结点最多有两棵子树,节点的度最大为2。

2、左子树和右子树是有顺序的,次序不能颠倒。

3、即使某节点只有一个子树,也要区分左右子树。

二叉树是一种比较有用的折中方案,它添加,删除元素都很快,并且在查找方面也有很多的算法优化,所以,二叉树既有链表的好处,也有数组的好处,是两者的优化方案,在处理大批量的动态数据方面非常有用。

扩展:

二叉树有很多扩展的数据结构,包括平衡二叉树、红黑树、B+树等,这些数据结构二叉树的基础上衍生了很多的功能,在实际应用中广泛用到,例如mysql的数据库索引结构用的就是B+树,还有HashMap的底层源码中用到了红黑树。这些二叉树的功能强大,但算法上比较复杂,想学习的话还是需要花时间去深入的。

6、散列表

散列表,也叫哈希表,是根据关键码和值 (key和value) 直接进行访问的数据结构,通过key和value来映射到集合中的一个位置,这样就可以很快找到集合中的对应元素。

记录的存储位置=f(key)

这里的对应关系 f 成为散列函数,又称为哈希 (hash函数),而散列表就是把Key通过一个固定的算法函数既所谓的哈希函数转换成一个整形数字,然后就将该数字对数组长度进行取余,取余结果就当作数组的下标,将value存储在以该数字为下标的数组空间里,这种存储空间可以充分利用数组的查找优势来查找元素,所以查找的速度很快。

哈希表在应用中也是比较常见的,就如Java中有些集合类就是借鉴了哈希原理构造的,例如HashMap,HashTable等,利用hash表的优势,对于集合的查找元素时非常方便的,然而,因为哈希表是基于数组衍生的数据结构,在添加删除元素方面是比较慢的,所以很多时候需要用到一种数组链表来做,也就是拉链法。拉链法是数组结合链表的一种结构,较早前的hashMap底层的存储就是采用这种结构,直到jdk1.8之后才换成了数组加红黑树的结构

哈希表的应用场景很多,当然也有很多问题要考虑,比如哈希冲突的问题,如果处理得不好会浪费大量的时间,导致应用崩溃。

7、堆

堆是一种比较特殊的数据结构,可以被看作一棵树的数组对象,具有以下的性质:

堆中某个节点的值总是不大于或不小于其父节点的值;

堆总是一个完全二叉树。

将根节点最大的堆叫作最大堆或大根堆,根节点最小的堆叫作最小堆或小根堆。常见的堆有二叉堆、斐波那契堆等。

因为堆有序的特点,一般用来做数组中的排序,称为堆排序。

8、图

图是由结点的有穷集合V和边的集合E组成。其中,为了与树形结构加以区别,在图结构中常常将结点称为顶点,边是顶点的有序偶对,若两个顶点之间存在一条边,就表示这两个顶点具有相邻关系。

图是一种比较复杂的数据结构,在存储数据上有着比较复杂和高效的算法,分别有邻接矩阵 、邻接表、十字链表、邻接多重表、边集数组等存储结构。

版权声明