基本数据类型

作者: 千秋霸业吾一统旧山河 | 来源:发表于2018-05-27 17:42 被阅读0次

什么是数据类型?

我们人类可以很容易的分清数字与字符的区别,但是计算机并不能呀,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,“汉”是文字,否则它是分不清1和‘汉’的区别的,因此,在每个编程语言里都会有一个叫数据类型的东东,其实就是对常用的各种数据类型进行了明确的划分,你想让计算机进行数值运算,你就传数字给它,你想让他处理文字,就传字符串类型给他。Python中常用的数据类型有多种,今天我们暂只讲3种, 数字、字符串、布尔类型。

数字

int(整型)

在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647

在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807

long(长整型)

跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。

注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。注意:在Python3里不再有long类型了,全都是int。

其中type()可以查看数据类型。

字符串

在Python中,加了引号的字符都被认为是字符串!(单,双引号也可以)

单引号、双引号、多引号有什么区别呢? 只有下面这种情况 你需要考虑单双的配合。

 多引号什么作用呢?作用就是多行字符串必须用多引号。

 字符串拼接

数字可以进行加减乘除等运算,字符串呢?让我大声告诉你,也能?但只能进行"相加"和"相乘"运算。注:只能对同种类型才可以。

  

布尔型

bool型只有两个值:True和False

之所以将bool值归类为数字,是因为我们也习惯用1表示True,0表示False。

整型

Python中的整数属于int类型,默认用十进制表示,此外也支持二进制,八进制,十六进制表示方式。

进制转换

尽管计算机只认识二进制,但是为了迎合我们的习惯,python中的数字默认还是十进制。还提供了一些方法来帮助我们做转换。比如是进制转换为二进制使用bin方法,在转换结果前面还会加上‘0b’表示是一个二进制书。

既然十进制可以转换为二进制,那么其实使用同样的原理也可以转换为其他进制,python也为我们提供了十进制转换成八进制和十六进制的方法,分别是oct和hex。八进制前面以‘0o’标示,十六进制以‘0x’标示

取余运算(%)

算术运算(+ - * / // divmod **)

浮点型

浮点数是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。具体的说,这个实数由一个整数定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学计数法

好了,我们来解释上面那句装。。。的话:

Python的浮点数就是数学中的小数(alex一定要强调float是有限小数或无限循环小数,就好像谁真的关心似的)。

在运算中,整数与浮点数运算的结果也是一个浮点数。

为什么要叫做float浮点型?

浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,

一个浮点数的小数点位置是可变的,比如,

1.23*109和12.3*108是相等的。

浮点数可以用数学写法,如1.23,3.14,-9.01,等等。但是对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代:

1.23*109就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5,等等。

整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的而浮点数运算则可能会有四舍五入的误差。

关于小数不精准问题

Python默认的是17位精度,也就是小数点后16位,尽管有16位,但是这个精确度却是越往后越不准的。

首先,这个问题不是只存在在python中,其他语言也有同样的问题

其次,小数不精准是因为在转换成二进制的过程中会出现无限循环的情况,在约省的时候就会出现偏差。

比如:11.2的小数部分0.2转换为2进制则是无限循环的00110011001100110011...

单精度在存储的时候用23bit来存放这个尾数部分(前面9比特存储指数和符号);同样0.6也是无限循环的;

这里有一个问题,就是当我们的计算需要使用更高的精度(超过16位小数)的时候该怎么做呢?(更新中)

复数:

从上面的图中我们就可以看出,复数complex是由实数和虚数组成的

要了解复数,其实关于复数还需要先了解虚数。虚数(就是虚假不实的数):平方为复数的数叫做虚数。

复数是指能写成如下形式的数a+bi,这里a和b是实数,i是虚数单位(即-1开根)。在复数a+bi中,a称为复数的实部,b称为复数的虚部(虚数是指平方为负数的数),i称为虚数单位。

当虚部等于零时,这个复数就是实数;当虚部不等于零时,这个复数称为虚数。

注,虚数部分的字母j大小写都可以。

知识补充:

在对负数使用%和//时要当心,由于python取的整数除法结果的floor值,因此最终结果要比你所期望值小1:

# 在去模运算,结果值的符号由第二个操作数的符号决定。

相关文章

  • C++基础

    1.C的基本数据类型 java基本数据类型 C基本数据类型 基本数据类型所占字...

  • 2019年安卓面试题--------Java 基础篇

    java 的基本数据类型 java的数据类型分为基本 数据类型和 引用数据类型基本数据类型: byte sho...

  • Java基本数据类型转换

    一:Java的基本数据类型和引用数据类型 1:基本数据类型 2:引用数据类型 二:基本数据的类型转换 基本数据类型...

  • Hive-3.1.2(三)数据类型

    常用的基本数据类型 基本数据类型所占字节intbooleanfloatdoublestring 复杂数据类型 基本...

  • Kotlin学习第一天

    打印HelloWorld 基本数据类型代码展示: kotlin只有基本数据类型 没有包装数据类型 基本数据类型范...

  • java数据类型(八种基本数据类型+三种引用类型)

    数据类型分类 java数据类型分为基本数据类型和引用数据类型 基本数据类型 基本数据类型包括4个分类,分配的存储空...

  • JS数据类型判断

    js中可以通过typeof来判断基本的数据类型。 数据类型 js的数据类型分为基本数据类型和引用数据类型,基本数据...

  • Java基础数据类型和引用类型的区别

    一、数据类型 Java中的数据类型分为两大类,基本数据类型和引用数据类型。 1、基本数据类型 基本数据类型只有8种...

  • ES5知识点整理

    基本语法 基本语法包括数据类型,操作符,语句,函数 数据类型 5种简单数据类型(基本数据类型)Undefined、...

  • 深入理解JS的数据类型

    js数据类型主要分为基本数据类型和引用数据类型 基本数据类型和引用数据类型的区别:基本数据类型是对值得引用,引用数...

网友评论

    本文标题:基本数据类型

    本文链接:https://www.haomeiwen.com/subject/qfmnlftx.html