再谈数据类型

ⅰ亾dé卋堺 提交于 2019-12-06 13:49:00

  学过计算机编程的人都知道,计算机无论多么牛叉,其实都是在“天下武功,唯快不破”的基础上成立的。计算机可以处理文本,剪辑视频,修复音频,美化照片,显示网页,科学计算,这一切的一切都是建立数据的基础之上,每种编程语言的本质,就是通过编程,撰写计算机的命令集合,充分利用计算机可以不休息、速度快的特征让计算机帮着处理数据,提高处理的效率。无论哪一种编程语言,都需要预制一些数据类型,并且这些类型能够覆盖人类描述信息的需要。C语言中对数值的处理花的信息很多,符合类型的结构体、联合体和枚举类型,后来都被指针取代了,说C语言简单的,主要是入门比较简单,关键字少,但是C语言的主要难点在指针。C++在C的基础上扩展了面向对象,增加了很多普通用户难以理解和应用的语法,还好有Java语言将C++大大简化了一番,Java的流行应该说C++的功劳绝对不少了。现在主流的是python,由于在机器学习和AI中Python可以大显身手,所以Python很火。Python把主要的问题给隐藏了不少,但是python的缺点是无法区分真正的水平吧。哈哈。

  Python中的数据类型,就是语言规定了一些数据的规范和能够接受的操作方法。数值型(标量),能够参与算术运算的整型、浮点型、复数型、布尔型和空值;复合类型,列表、元组、字典、集合;字符串;文件对象;自定义类型等。

一、数值型:

  1、整型:

 1 Python 3.8.0 (default, Oct 23 2019, 18:51:26) 
 2 [GCC 9.2.0] on linux
 3 Type "help", "copyright", "credits" or "license()" for more information.
 4 >>> x = 5 + 2 - 3 * 4
 5 >>> x
 6 -5
 7 >>> 5 / 2
 8 2.5
 9 >>> 5 // 2
10 2
11 >>> 5 % 2
12 1
13 >>> 5 * 2
14 10
15 >>> 5 ** 2
16 25
17 >>> 

  说明:第4行中包含了将+ - ×,运算规则和数学中的运算规则完全一样

      第5-6行,查看结果和显示结果

      第7-8行,作除法运算显示结果,python3中新增的规则

      第9-10行,作地板除运算显示结果

      第11-12行,作取余运算显示结果

      第13-14行,作乘法运算显示结果

      第15-16行,作幂运算显示结果

    其他的数据类型浮点型和复数型都是一样的可以运算

    布尔型作算术运算时,只能有Ture=1和False=0两种值

  

 1 Python 3.8.0 (default, Oct 23 2019, 18:51:26) 
 2 [GCC 9.2.0] on linux
 3 Type "help", "copyright", "credits" or "license" for more information.
 4 >>> x = 5.1 + 2.8 - 3.2 * 4.3
 5 >>> x
 6 -5.86
 7 >>> 5.1 / 2.5
 8 2.04
 9 >>> 5.1 // 2.5
10 2.0
11 >>> 5.1 % 2.5
12 0.09999999999999964
13 >>> 5.1 * 2.5
14 12.75
15 >>> 5.1 ** 2.5
16 58.73885009088958

  本来以为11行会出错,居然没有,还出了结果,但是感觉不对阿

 1 Python 3.8.0 (default, Oct 23 2019, 18:51:26) 
 2 [GCC 9.2.0] on linux
 3 Type "help", "copyright", "credits" or "license" for more information.
 4 >>> (3 + 2j) * (2 + 3j)
 5 13j
 6 >>> (3 + 2j) ** (2 + 3j)
 7 (0.6817665190890336-2.1207457766159625j)
 8 >>> x = (3 + 2j) * (2 + 3j)
 9 >>> x.real
10 0.0
11 >>> x.imag
12 13.0
13 >>> round(3.4)
14 3
15 >>> round(3.5)
16 4
17 >>> import math
18 >>> math.ceil(3.49)
19 4
20 >>> math.f
21 math.fabs(       math.floor(      math.frexp(      
22 math.factorial(  math.fmod(       math.fsum(       
23 >>> math.floor(3.99)
24 3
25 >>> y=False
26 >>> x
27 13j
28 >>> y
29 False
30 >>> not y
31 True
32 >>> y
33 False
34 >>> y = True * 2
35 >>> y
36 2

  代码说明:

  第4-5行,复数乘法显示结果

  第6-7行,复数乘方显示结果

  第8行,将复数运算结果放到一个变量中

  第9-10行,获取复数变量的实部

  第11-12行,获取复数变量的虚部

  第13-14行,调用内部函数获取浮点的近似值,四舍五入方式

  第15-16行,调用内部函数获取浮点的近似值,四舍五入方式

  第17行,导入数学库

  第18-19行,应用数学库中函数获取浮点数的最大整数

  第20-24行,输入部分内容按下table键之后的自动补全后的内容,最终选择需要的函数,并显示结果

  第25,29行,定义bool变量,并显示结果

  第26-27行,显示x的结果,及结果显示

  第30-31行,bool变量运算及结果显示

  第32-33行,bool变量本身没有变化

  第34-36行,bool变量算术运算时,只能是1或0中的一个值


二、列表:

  1、列表是数据的集合,并且数据可以不是同一种类型;

  2、列表中的数据可以通过索引访问,可以从头开始,也可以从尾开始

  3、通过切片获取新的列表

  4、列表有自己的内置函数和运算符

  5、列表的数据可以被修改

 1 Python 3.8.0 (default, Oct 23 2019, 18:51:26) 
 2 [GCC 9.2.0] on linux
 3 Type "help", "copyright", "credits" or "license" for more information.
 4 >>> x = ["first", '2th', 3, 4.999, True]
 5 >>> x[0]
 6 'first'
 7 >>> x[-1]
 8 True
 9 >>> x[2]
10 3
11 >>> x[-3]
12 3
13 >>> x
14 ['first', '2th', 3, 4.999, True]
15 >>> x[-1:]
16 [True]
17 >>> x[-5:]
18 ['first', '2th', 3, 4.999, True]
19 >>> x[:-1]
20 ['first', '2th', 3, 4.999]
21 >>> x[::2]
22 ['first', 3, True]

 

  

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!