版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章
Python程序设计进阶content重点难点重点:1.函数2.列表3.元组4.字典5.数据分析与可视化难点:1.函数2.列表Contents目录5.1函数5.2列表5.3元组5.4字典5.5集合5.6文件5.7数据分析与可视化5.1函数函数函数是用于实现特定功能或相关功能的代码块这些代码块是构建大规模程序的基本单元通过合理使用函数,开发者能够显著提升代码的可读性、可维护性和可扩展性5.1.1函数的定义和调用函数的定义函数代码块以
def
关键词开头,后接函数标识符名称(简称函数名)和圆括号()。函数可以接收零个或多个参数,参数之间用逗号分隔。参数是函数接收外部数据的入口。函数体是函数的具体实现代码,包含要执行的语句。函数内容以冒号起始,并且缩进。return语句用于返回函数执行结果。如果没有return语句,函数默认返回
None。def函数名(参数):
函数体return返回值#可选defprintfun(str):#打印输入的字符串
print(str)return函数的调用printfun("HelloPython!")printfun("再次调用同一函数")defprintfun(str):#打印输入的字符串
print(str)return
MORETHENTEMPLATE调用程序在函数处暂停。实参的值赋值给形参。转到函数入口处,并执行该函数的函数体代码函数调用结束,把函数的返回值带到函数调用处,程序同时返回到调用处继续执行后续代码。函数的调用过程defmax(a,b):
ifa>b:returnaelse:returnbMaxnum1=max(1,2)print(Maxnum1)
MORETHENTEMPLATE主程序执行到第1行代码处暂停把实参1赋值给形参a,实参2赋值给形参b执行函数max的函数体,函数执行结束把执行结果2带回到主程序调用处,并赋值给变量bignum1此时执行完主程序的第1行代码,接下去继续执行后续代码。max函数的调用过程defmax(a,b):
ifa>b:returnaelse:returnb#主程序从此开始Maxnum1=max(1,2)print(Maxnum1)1Maxnum1=max(1,2)2print(Maxnum1)3num1=eval(input(“请输入第1个数”))4num2=eval(input(“请输入第2个数”))5Maxnum2=max(num1,num2)6print(Maxnum2)defmax(a,b):ifa>b:returnaelse:returnbdefmax(a,b):ifa>b:returnaelse:returnba=1b=2a=num1b=num2max函数的调用过程5.1.2
函数参数Python函数支持多种参数传递方式:位置参数:按照参数定义的顺序传递参数。关键字参数:使用参数名指定传递的值,顺序可以任意。默认参数:在定义函数时为参数指定默认值,调用时可以不传递该参数。可变参数:使用*args接收任意数量的位置参数,使用**kwargs接收任意数量的关键字参数。位置参数默认参数在定义函数时指定默认值,调用时可不传该参数,直接使用默认值。定义与规则01示例02关键字参数关键字参数通过参数名指定值,调用时顺序可任意,Python解释器匹配参数名与值。定义与规则01示例中参数虽顺序颠倒,仍正确输出。示例02默认参数默认参数在定义函数时指定默认值,调用时可不传该参数,直接使用默认值。定义与规则01示例中printinfo(name="Alice")未传age,使用默认值25。示例02可变参数*args接受任意数量位置参数,打包成元组。必须放在普通位置参数后。*args(可变位置参数)01*args收集了所有传入的位置参数(1,2,3,"hello",5),并将其存储为一个元组。示例02可变参数01**kwargs收集了所有传入的关键字参数,并将其存储为一个字典{'name':'Alice','age':25,'city':'Beijing'}示例02**kwargs(可变关键字参数)**kwargs接受任意数量关键字参数,打包成字典。必须放在*args和普通位置参数后。5.1.3
函数返回值函数返回值函数用return返回值,无return时默认返回None。定义与规则01示例025.1.4
匿名函数匿名函数定义匿名函数,语法为:lambda参数:表达式功能有限,主体为单一表达式。lambda函数有独立命名空间,不能访问外部变量。定义与规则01示例025.1.5
变量的作用域变量的作用域变量作用域分全局变量和局部变量。全局变量在函数外定义,局部变量在函数内定义。定义与规则01示例中x为全局变量,y为局部变量,外部无法访问局部变量y。示例025.1.6
常用库和函数random库及常用函数应用场景广泛应用于游戏开发、数据分析、蒙特卡罗模拟、测试用例生成等领域,为需要随机性的场景提供支持。导入random库importrandomfromrandomimport*【例5-12】“读心术”游戏。思路导入random库,生成1到100之间的随机数作为目标数字,用户输入猜测,根据提示调整猜测范围,直到猜对或次数用完。math库及常用函数Python的math库是科学计算、数据分析和机器学习领域中Python开发者所依赖的关键工具。math库及常用函数math库及常用函数【例5-13】计算三角形面积。思路:使用海伦公式计算三角形面积。从键盘输入3个数作为三角形的边长,在屏幕上显示输出由这3个边所构成三角形的面积(保留2位小数)。turtle库及常用函数turtle库是Python中的一个入门级的图形绘制函数库,它提供了一个虚拟的“海龟”作为画笔,程序设计者通过编写指令来控制这个“海龟”在屏幕上移动,其移动轨迹就形成了绘制的图形。导入库:importturtlefromturtleimport*设置画布设置画布大小和位置,width和height为画布宽高,startx和starty为画布左上角坐标,默认居中显示。setup(width,height,startx,starty)设置画笔画布中心为坐标原点(0,0),水平方向为x轴,垂直方向为y轴,形成四象限坐标系。01坐标系将画笔移动到坐标为(x,y)的位置。02goto(x,y)控制画笔forward(d)使画笔在当前方向上前进d像素。backward(d)使画笔在当前方向上后退d像素。circle(r,extend)画圆或弧,半径为正(负)表示圆心在画笔向右(左)侧。setheading(angle)将画笔朝向设置为指定的绝对角度angle。left(angle)使画笔向左旋转指定的角度angle。right(angle)使画笔向右旋转指定的角度angle。penup()提起画笔,暂时不绘画。pendown()放下画笔,开始绘画。
speed(speed)设置画笔的移动速度,范围在[0,10]之间。pensize(width)设置画笔线条的粗细,数值越大画笔越粗。设置填充颜色,可以是颜色单词或RGB三元组。fillcolor(color)设置画笔的颜色,可以是颜色单词或RGB三元组。pencolor(color)使用goto定位,forward和left绘制正方形。绘制正方形使用pencolor设置颜色,forward和right绘制五角星。绘制五角星示例:绘制正方形和五角星与计算机系统相关的库和函数用于获取GPU型号、显存、负载等数据,适用于深度学习场景。GPUtil用来获取系统的硬件信息和使用情况,可以通过它来监测CPU、内存、磁盘、网络等使用情况。Psutil用来获取CPU信息,包括名称、品牌、频率、缓存大小等。cpuinfo用来获取系统的基础信息,包括操作系统类型、版本、硬件架构等。Platform【例5-16】显示本机的系统信息、内存信息和CPU信息5.2列表Python除了提供数字和字符串等数据类型,还提供了元组、列表、字典和集合等复杂类型的数据结构。其中,字符串、元组和列表又被称为序列类型。序列在日常生活中经常用到,比如,一个班级学生学号序列,股票价格的时间序列等,字符串和元组都是不可修改的数据类型,而列表是可修改的数据序列。本节主要介绍列表的相关知识。在Python中,列表是包含0个或多个对象的有序序列。列表中的值称为元素,列表的长度和内容是可变的,元素类型可以不同。5.2.1
创建列表创建列表可以使用“=”直接将列表赋值给变量的方式创建一个列表,也可以使用list()函数将序列类型的数据转化成列表。列表的元素使用“[]”括起来,元素之间使用逗号分隔。列表中的元素可以是任何类型的对象,如数字、字符串、列表、元组等。创建列表示例:>>>list1=[1,4,9,16,25]#创建有元素列表>>>list1[1,4,9,16,25]>>>list2=[]#创建空列表>>>list2[]>>>list2=['physics','chemistry',2025,3.14]#列表的内容可以改变>>>list2['physics','chemistry',2025,3.14]>>>list3=list('Python')#将一个字符串转换为列表>>>list3['P','y','t','h','o','n']>>>list4=list(range(2,10,2))>>>list45.2.2
列表的索引和切片列表的索引和切片列表就是一个可变的、有序的序列。列表中的元素之间存在先后关系,可以使用索引号进行访问。索引有正向索引和反向索引,在正向索引中,第1个元素的索引号为0,第2个元素的索引号为1,第3个元素的索引号为2,以此类推,第n个元素的索引号为n-1;在反向索引中,最后一个元素的索引号为-1,倒数第二个元素的索引号为-2,以此类推。序列的正向索引及反向索引结构如图5-6所示。1.列表的索引示例:>>>list1[0]#索引操作将返回条目1>>>list1[-1]25>>>list3[-1]='m'#修改列表中的最后一个元素>>>list3['P','y','t','h','o','m']如果需要将列表中的元素依次输出,可以使用序列的遍历格式:for<变量名>in<序列名>:
<代码块>1.列表的索引2.列表的切片使用切片可以截取列表的元素得到一个新列表,也可以使用切片实现修改和删除列表中的部分元素,还可以用来为列表对象添加元素。切片操作符是“[]”,其基本语法为:
list[start:end:step]start是切片的开始位置,包含在切片中。如果省略,默认为0,表示从列表开头开始。end是切片的结束位置,不包含在切片中。如果省略,默认为-1,表示切片到列表结尾。step是切片的步长,为整数值,默认为1。当step>0时,表示正向切片,即从左向右选取元素,此时要求start在end的左侧,否则将得到一个空序列;当step<0时,则表示反向切片,即从右向左选取元素,此时要求start在end的右侧,否则将得到一个空序列。2.列表的切片通过指定start和end索引,可以获取列表中从start到end(不包括end)之间的元素,形成一个新的子列表。例如:>>>numbers=[0,1,2,3,4,5,6,7,8,9]#创建列表>>>numbers[0,1,2,3,4,5,6,7,8,9]>>>list_new=numbers[2:6]#省略step参数,默认为1,返回'左闭右开'区间内的元素>>>list_new[2,3,4,5]>>>numbers[:5]#省略start参数,切片将从列表开头开始[0,1,2,3,4]>>>numbers[5:]#省略end参数,切片将从start索引开始,一直到列表结尾[5,6,7,8,9]2.列表的切片>>>numbers[::2]#正向切片,每隔一个元素取一个值,获得偶数位置的元素[0,2,4,6,8]>>>numbers[::-1]#反向切片[9,8,7,6,5,4,3,2,1,0]>>>numbers[-3:]#将返回最后三个元素[7,8,9]>>>numbers[7:2:-1]#从索引7开始向索引2的方向以步长-1进行切片[7,6,5,4,3]>>>numbers[2:5]=[20,30,40]#修改列表的部分元素>>>numbers[0,1,20,30,40,5,6,7,8,9]>>>delnumbers[2:5]#删除列表的部分元素>>>numbers[0,1,5,6,7,8,9]5.2.3
列表的基本操作列表的基本操作创建列表后,对于列表对象可以直接调用内置方法实现各种操作如:添加、删除元素,搜索列表,列表排序等。列表的基本操作——添加元素列表中添加元素有三个方法:append()extend()insert()这3个方法都属于原地操作方法,即调用方法后,原列表的内容会发生变化,但不会创建新的列表。列表的基本操作——添加元素append()方法——添加一个元素语法如下:list.append(element)参数:element:要添加到列表末尾的元素,元素可以是任何数据类型,包括数字、字符串、列表(此时添加的是整个列表对象作为单个元素)、字典等。append()方法用于在列表的末尾添加一个元素。append()只能添加一个元素,不能一次性添加多个元素。添加完成后,列表的长度增加1。列表的基本操作——添加元素extend()方法——添加多个元素语法如下:list.extend(iterable)参数:iterable:一个可迭代对象,其元素将被添加到列表中,这里的对象可以是字符串、列表、元组、字典。extend()方法用于将一个迭代对象中的所有元素添加到另一个列表的末尾。与append()不同,extend()接受一个可迭代对象(如列表、元组等),并将其元素逐一添加到原列表中。列表的基本操作——添加元素insert()方法——插入元素语法如下:list.insert(index,element)参数:index:插入元素的索引位置。element:要插入的元素。insert()方法用于在列表的指定位置插入一个元素。这个方法接受两个参数:一个是插入位置的索引,另一个是要插入的元素。索引从0开始计数,如果指定的索引超出了列表的当前范围,元素将被添加到列表的末尾。由于insert()方法需要在指定位置插入元素,并可能需要移动列表中的其他元素来为新元素腾出空间,因此其性能可能不如append()或extend()。特别是在列表较长且插入位置靠近开头时,性能下降更为明显。列表的基本操作——删除元素删除列表元素有三个方法:remove()pop()clear()这3个方法也属于原地操作方法,即调用方法后,不会创建新的列表。列表的基本操作——删除元素remove()方法——删除指定内容的元素语法如下:list.remove(x)参数:x:要移除的元素。remove()方法用于移除列表中首次出现的指定元素。如果不存在该元素,会引发一个ValueError异常。当有多个相同的元素需要删除时,可以使用循环结合remove()方法来逐个删除。列表的基本操作——删除元素pop()方法——删除指定位置的元素语法如下:list.pop([index])参数:index(可选):要删除元素的索引。如果不指定,默认删除最后一个元素。pop()用于删除并返回列表中指定位置的元素。如果不指定位置,默认删除并返回最后一个元素。每调用一次pop(),列表的长度就会减少1。该方法会返回被删除的元素。如果指定的索引超出列表范围,会抛出IndexError异常。列表的基本操作——删除元素clear()方法——清空列表语法如下:list.clear()clear()方法用于移除列表中的所有元素,使其变为空列表。清空后的列表长度为0。clear()方法可用于清空列表、字典或集合中的所有元素。对于列表来说,就是移除列表中的所有元素,使其变为空列表;对于字典来说,就是移除字典中的所有键值对,使其变为空字典;对于集合来说,就是移除集合中的所有元素,使其变为空集合。列表的基本操作——删除元素clear()方法——清空列表示例:>>>numbers=[0,1,2,3,4]>>>numbers.pop(2)>>>numbers>>>dellist1[2]#删除list1中索引号为2的元素>>>list1[1,4,16,25]>>>dellist1#删除列表list4>>>list1NameError:name'list4'isnotdefined#访问已删除的列表,出现异常列表的基本操作——查询元素列表的基本操作——列表排序列表程序举例【例5-18】分类显示社会主义核心价值观的12项内容,检索输入的内容是否属于社会主义核心价值观的内容。5.3元组5.3.1
创建元组创建元组Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号(),列表使用方括号[]。可以使用“=”直接将列表赋值给变量的方式创建一个元组,也可以通过tuple()函数将其他序列类型的数据转化成列表。创建元组>>>t1=(12345,'hello!',3.14)#元组中的元素可以使用不同的数据类型>>>t1(12345,'hello!',3.14)>>>t2=([1,2,3],[3,2,1])#包含可变对象的元组>>>t2([1,2,3],[3,2,1])>>>t3=(0,)#只有一个元素的元组,逗号不能省略>>>t3(0,)>>>t4=1,2,3#没有歧义的情况下,圆括号可以省略>>>t4(1,2,3)>>>a=[2,4,6,8]>>>t5=tuple(a)#将列表转换为元组>>>print(t5)(2,4,6,8)>>>t6=tuple(range(10))#将range对象转换为元组>>>print(t6)(0,1,2,3,4,5,6,7,8,9)>>>t7=t1+t4#元组的连接>>>t7(12345,'hello!',3.14,1,2,3)>>>t8=t4*3#元组的复制>>>t8(1,2,3,1,2,3,1,2,3)5.3.2
元组的基本操作元组的基本操作——访问元组可以使用索引、切片或遍历的方式来访问元组中的值。【例5-19】使用索引和切片访问元组。以上实例输出结果:元组的基本操作——访问元组元组中第1个元素的索引是0,第2个元素的索引是1,第3个元素的索引是2,以此类推,第n个元素的索引是n-1。此外,也可以使用反向索引来表示元素,使用反向索引时,最后一个元素是-1,倒数第二个是-2,以此类推。元组a的正向索引及反向索引结构如图所示。元组的基本操作——删除元组不能使用remove()、pop()和clear()删除元组的元素,也不能使用insert()、append()和extend()方法添加元组的元素,但可以使用del语句来删除整个元组。【例5-20】使用del语句删除元组。以上实例元组被删除后,输出变量会有异常信息,输出如下所示:元组的基本操作——元组的常用函数5.3.3
元组程序举例元组程序举例【例5-21】学生成绩管理。5.4字典5.4.1
创建字典创建字典在Python中,字典(dictionary)是一种非常重要的数据结构,它提供了一种通过键(key)来存储和访问值(value)的方式。与列表(list)和元组(tuple)等序列类型不同,字典是无序的集合,其元素是由键值对组成的。
字典中的每个元素都是一个键值对(key-valuepair),其中键是唯一的,且必须是不可变的(如字符串、数字或元组),而值可以是任意类型的对象。创建字典5.4.2
字典的基本操作字典的基本操作——访问字典中的值字典的基本操作——增加字典元素字典元素的增加可以使用“字典变量[键]=值”格式。如果键不存在于字典中,可以通过赋值操作来添加新的键值对,如果键已经存在,则修改该键对应的值。字典的基本操作——修改字典元素使用“字典变量[键]=值”格式修改已经存在的键所对应的值。也可使用update()方法批量更新字典中的元素。字典的基本操作——删除字典元素可以使用del语句或pop()方法来删除字典中的元素。字典的基本操作——删除字典元素也可以使用clear()方法删除字典中的所有键值对,使用clear()方法后,原字典将变成一个空字典。使用del可以删除字典中的某个元素,也可删除一个字典,但要注意的是,使用del删除字典后,字典将不再存在。字典的基本操作——遍历字典表5-14字典的常见方法【例5-22】统计短文中单词出现的频率。5.4.3
字典程序举例字典程序举例【例5-23】创建一个包含哪吒、敖丙、申公豹、太乙真人等神话人物信息的字典。5.5集合集合(set)是Python中的一种基本数据结构,用于存储一组不重复的元素。集合是一种无序的、可变的数据类型,这意味着集合中的元素没有特定的顺序。集合中的元素可以是整数、浮点数、字符串等基本数据类型,也可以是其他集合、元组等可哈希的数据类型。集合适用于需要对元素进行去重、判断元素是否存在、进行集合运算等场景。集合的特征
唯一性:集合中的元素是唯一的,不允许有重复的元素。
无序性:集合中的元素没有特定的顺序,因此无法通过索引访问元素。
可变性:集合是可变的,可以添加、删除元素。
集合操作:集合支持多种集合操作,如并集、交集、差集等。5.5.1
创建集合创建集合可以直接使用大括号来创建一个集合,但需要注意,如果创建的是空集合,必须使用set()而不是{},因为{}会创建一个空字典。也可以使用set()函数可以将任何可迭代对象(如列表、元组、字符串等)转换为集合。5.5.2
集合的基本操作集合的基本操作——添加元素可以使用add()方法向集合中添加一个元素,如果该元素已存在则忽略,不存在则添加。集合的基本操作——删除元素删除集合元素有4个方法:remove()、discard()、pop()和clear()。remove()和discard()方法都可以从集合中移除一个指定的元素,不同的是,如果指定元素不存在,remove()方法会引发错误,而discard()方法则忽略该操作。pop()方法用于从集合中随机移除一个元素,并返回该元素,如果集合为空,会引发错误。clear()方法用来清空集合。集合的基本操作——集合运算5.5.3
集合程序举例集合程序举例【例5-24】数据清洗。5.6文件文件文件是计算机中用于存储数据的一种结构,可以是文本文件、二进制文件、图片、音频、视频等多种类型。在Python中,文件操作是指通过编程语言对文件进行创建、读取、写入、删除等一系列动作。5.6.1
文件的打开和关闭文件的打开和关闭
在Python中,使用内置的open()函数来打开文件,使用close()方法关闭文件。open()函数返回一个文件对象,该对象提供了对文件进行读写操作的方法。文件的打开和关闭
为了简化文件关闭的操作,Python提供了with语句。使用with语句打开文件时,文件会在代码块执行完毕后自动关闭。5.6.2
文件的基本操作文件的基本操作——文件的写入(1)写入字符串数据使用write()方法可以将字符串数据写入文件。如果文件以写入模式('w')或追加模式('a')打开,则可以直接写入数据。文件的基本操作——文件的写入(2)写入字节数据对于二进制文件,可以使用write()方法写入字节数据。此时,需要以二进制模式('b')打开文件。文件的基本操作——文件的写入(3)使用writelines()方法写入多行数据writelines()方法可以将一个列表(或其他可迭代对象)中的多个字符串元素写入文件。每个元素将直接写入文件,不会自动添加换行符。文件的基本操作——文件的读取(1)读取整个文件使用read()方法可以读取文件的全部内容,并将其作为一个字符串返回。文件的基本操作——文件的读取(2)逐行读取文件对于较大的文件,逐行读取可能更为高效。可以使用readline()方法读取文件中的一行内容,或使用readlines()方法将文件的所有行作为一个列表返回。文件的基本操作——文件的读取(3)使用for循环逐行读取Python的文件对象支持迭代器接口,因此可以直接使用for循环逐行读取文件。文件的基本操作——文件的删除与重命名(1)删除文件使用os.remove()函数可以删除指定的文件。如果文件不存在,则会抛出FileNotFoundError异常。文件的基本操作——文件的删除与重命名(2)重命名文件使用os.rename()函数可以重命名指定的文件。5.6.3
文件操作中的异常处理字典程序举例在进行文件操作时,可能会遇到各种异常情况,如文件不存在、权限不足等。因此,建议使用异常处理机制来捕获并处理这些异常。5.7数据分析与可视化数据分析是数据可视化的理论与技术基础,涵盖数据的采集、处理、分析和解释。数据可视化通过图形化方式将数据转化为直观的视觉表达,便于揭示数据的分布规律、趋势特征及内在关系。5.7.1数据分析概述数据分析的步骤数据分析旨在从原始数据中提取有意义的信息,识别模式或趋势,为科学决策提供依据。作为信息科学、统计学与计算科学的交叉学科,数据分析广泛应用于商业决策、科学研究和社会治理等领域。其核心流程包括以下步骤:①数据采集:通过文件(如CSV、Excel)、数据库、应用程序接口(API)或网络爬取获取数据。②数据预处理:处理缺失值、重复值和异常值,确保数据格式的一致性和规范性。③数据分析与可视化:运用统计方法和可视化工具分析数据分布及特性。④数据建模:采用统计模型或机器学习算法进行预测、分类等任务。⑤结果解释与呈现:以学术报告、图表或交互式形式总结和展示分析结论。Python中的核心数据分析库
NumPy:提供高效的多维数组运算及数学函数,是众多分析工具的底层依赖。
pandas:支持表格式数据结构(如DataFrame和Series),便于高效地数据处理与分析。
SciPy:提供统计分析、数值优化及积分等高级科学计算功能。
Scikit-learn:涵盖回归、分类、聚类等机器学习算法,适用于多种分析场景。
statsmodels:专注于统计建模,支持时间序列分析、线性回归等复杂任务。5.7.2数据可视化概述数据可视化概述数据可视化通过图形化表达将复杂数据转化为直观的视觉形式,助力用户快速理解数据的结构、模式及关联性。Python提供了多种功能强大的可视化库,满足从静态图表到交互式呈现的多样化需求:Matplotlib:功能全面的绘图库,可以用来创建静态、动态和交互式的图表。它提供了丰富的图表类型,包括折线图、散点图、柱状图等。Seaborn:这是一个基于Matplotlib的库,专注于统计图形的绘制。它提供了更高级的接口,可以更容易地创建美观的统计图形。Plotly:这是一个用于创建交互式图表的库,支持多种图表类型,适用于网页嵌入,覆盖多种复杂图表类型。Bokeh:这是一个用于创建交互式和动态可视化图表的库,特别适合处理大规模数据集。5.7.3数据可视化步骤数据可视化步骤数据可视化的实施需遵循系统化的流程,以确保图表的科学性与可读性:1.问题界定与图形选择根据分析目标和数据特性选择适宜的图形类型。例如,时间序列数据宜采用折线图,分类数据适合柱状图。2.数据处理与函数应用对数据进行加载、清洗、转换和重塑,确保满足可视化需求,随后调用适当的可视化函数生成图表。3.图表优化与修饰调整图表的视觉属性(如颜色、线型、标记),并添加标题、轴标签、图例等元素,以提升图表的清晰度和信息传递效率。5.7.4程序举例程序举例【例5-25】使用Matplotlib绘制折线图,展示数据随时间的变化趋势。程序举例
【例5-26】使用Matplotlib绘制箱形图,展示正态分布的示例数据。谢谢!第6章
新兴信息技术content重点难点重点:物联网定义、应用物联网与互联网的区别及关系云计算的概念、特点、服务类型大数据的概念、特征、支撑大数据的要素区块链的概念、分类、特征难点:物联网涉及的关键技术云计算关键技术大数据思维、大数据处理技术区块链的关键技术Contents目录6.1物联网6.2云计算6.3大数据6.4区块链6.5人工智能与物联网、云计算、大数据、区块链的应用和关系6.1 物联网6.1.1物联网的概述1.物联网的起源1991年美国麻省理工学院(MIT)的KevinAsh-ton教授首次提出物联网的概念。“万物皆可通过网络互联”智能家居的典范138
“未来之屋”以其超乎想象的智能化和自动化,被视为人类未来生活的典范,在回家的途中就可以通过智能住宅系统遥探家中的一切:手机拨号,接通豪宅内的中央电脑,用数字按键与电脑沟通,让电脑对卫浴系统下达指令:“在大浴缸里放满一池热水。”;用手机控制,开启空调;嘱咐厨房的工作人员准备晚饭;2.物联网平台研究现状亚马逊:AWS(AmazonWebServices,亚马逊网上服务)微软:Azure谷歌:GoogleCloudIoTCore关闭,GoogleCloud转向合作伙伴生态和边缘计算IBM:Watson不再推广独立服务,将重心转向混合云和企业级AI(如Watsonx)百度天工(2016.7),聚焦AIoT,与Apollo自动驾驶平台深度集成阿里云IoT:升级为“云钉一体”物联网平台腾讯云IoT:提供全栈物联网解决方案,强化边缘计算能力到底什么是物联网呢?3.物联网的定义
物联网的理解141“一句式”理解物联网:把所有物品通过信息传感设备与互联网连接起来,进行信息交换,即物物相息,以实现智能化识别和管理。另一句理解物联网:物物相连的互联网。物联网是新一代信息技术的重要组成部分,其基础核心仍然是互联网。
物联网的理解142简单的理解:物联网就是“你知道我在哪里、我知道你在哪里”、“你知道我在干什么、我知道你在干什么”。3.物联网的定义物联网是通过射频识别(RFID)、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,把任何物品与互联网连接起来,进行信息交换和通讯,以实现智能化识别、定位、跟踪、监控和管理的一种网络。互联网和物联网到底什么关系?互联网已成为人与人交流沟通、传递信息的纽带,互联网是物联网的基础,物联网是互联网的延伸,互联网和物联网相互促进,共同造福人类。4.物联网的特征网络化物联化互联化自动化感知化智能化边缘计算能力5.物联网的体系架构应用层网络层感知层网络层的主要作用是把下层(感知层)设备接入互联网,供上层服务使用。应用层的任务是将各类物联网的服务以用户需要的形式呈现出来,提供一个“按需所取”的综合信息服务平台。在这个平台上,使用者不必了解服务的实现技术,也不必了解服务来自哪里,只需要关注服务能否满足自己的使用要求。物联网要实现物与物的通信,其中“物”的感知是非常重要的。感知是物联网的感觉器官,用来识别物体、采集信息。“物”能够在空间和时间上存在和移动,可以被识别,一般可以通过实现分配的数字、名字或地址对“物”加以编码,然后加以辩识。利用RFID,无线传感器,摄像头,GPS等技术6.1.2 物联网的关键技术物联网的关键技术1.识别与感知技术(1)射频识别(RFID)技术RFID(RadioFrequencyIdentification)即射频识别技术,俗称电子标签,通过射频信号自动识别目标对象,并对其信息进行标志、登记、储存和管理。射频识别技术(RadioFrequencyIdentification,RFID),利用射频信号通过空间耦合(交变磁场或电磁场)实现无接触信息传递并通过所传递的信息达到自动识别的目地。1.识别与感知技术(1)射频识别(RFID)技术RFID系统构成电子标签:有唯一的RFID编码天线:与读写器相连,传递射频信号读写器:读取或写入标签信息的设备1.识别与感知技术(1)射频识别(RFID)技术RFID技术衍生产品无源RFID产品:银行卡、公交卡、身份证、饭卡有源RFID产品:智能停车场、智慧城市、智慧交通半有源RFID产品:门禁出入管理、区域定位管理及安防报警二代身份证内置芯片天线线圈芯片1.识别与感知技术(2)条形码技术一维条码:是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用于表达一组信息的图形标识符。原理:“条”指对光线反射率较低的部分,“空”指对光线反射率较高的部分,用条形码阅读器可转换成与计算机兼容的二进制和十进制信息。组成:一维条码又称为线形条码,是由一个接一个的“条”和“空”排列来表达一定的信息,常用的一维码的码制包括:EAN码、39码、交叉25码、UPC码、128码、93码,ISBN码,及Codabar(库德巴码)等。1.识别与感知技术154一维条码:商品一维EAN码分组含义,前缀码是用来标识国家或地区的代码,赋码权在国际物品编码协会,如00-09代表美国、加拿大。45-49代表日本。690-692代表中国大陆,471代表我国台湾地区,489代表香港特区。EAN码,仅有数字号码,通常为13位,主要应用在超市和百货业。购物消费时,收银员使用条形码扫描器(如图所示)扫描对应物品上的标签,即扫描一维条形码来获取物品的名称、类别、生产时间、价格及重量等信息。请查看你所购买商品的条码一维条码155书籍条码的前缀码,中国书籍978,中国期刊977ISBN码:每一个ISBN码由一组3+10位数字组成,用以识别出版物所属国别地区、出版机构、书名、版本以及装订方式。请查看你所用书籍或期刊的条码1.识别与感知技术(2)条形码技术二维条码是按照一定规律在平面(二维)上分布黑白相间的特定的几何图形来记录数据符号信息。常见的有PDF417、QRCode、Code49、Code16K、CodeOne等。QR码(全称为快速响应矩阵码,QuickResponseCode)二维码二维码又称二维条码,是在一维条码的基础上扩展出的一种具有可读性的条码。设备扫描二维条码时,通过识别条码的长度和宽度中所记载的二进制数据,可获取其中所包含的信息。相比一维条码,二维码记载更复杂的数据,比如图片、网络链接等。157二维码发明者腾弘原图片来源:欧洲专利局可惜日本人当时虽然手握二维码专利权,但仅仅将狭窄的目光放在特定的收费项目上,完全没能预料到二维码在未来社会的广泛应用。二维码与RFID标签比较成本比较:二维码与一维条码(条形码)一样,几乎是零成本的信息存储技术,而RFID电子标签每个成本在1美元以上。工作环境比较:高温高压或者化学清洗这样的极端环境,只有RFID标签才能胜任。两者之间最大的区别是:二维码是“可视技术”,只能在的视野范围内接收,而射频识别不要求看见目标,只要在接收器的作用范围内就可以被读取。各有优势:目前RFID技术在车联网中有较出色的应用,而在二维码在移动电子商务中有较好的应用,并且成本低,是不能被RFID标签所取代的。1.识别与感知技术(3)传感器技术与传感网传感器敏感元件转换元件基本电路传感器实现本质:1.识别与感知技术(3)传感网传感网(SensorNetworks,SN)是指将各种信息传感设备,如RFID装置、红外感应器、全球定位系统、激光扫描器等装置与互联网结合起来而形成的一个巨大网络。目前在传感器技术领域中,人们重点研究的是无线传感网(WirelessSensorNetworks,WSN)WSN不需要预先铺设网络设施;能够快速自动组网;传感器节点体积小,便于部署。1.识别与感知技术无线传感网的应用环境检测军事应用环境检测工业应用医疗应用其他方面应用WSN可用来建立一个集命令、控制、通信、计算、智能、监视、侦查和定位于一体的战场指挥系统森林火监测,WSN在监视农作物灌溉、土填空气状况,牲畜、家禽的环境状况,大面积的地表监测,气象和地研究,洪水监测,跟踪鸟类、小型动物和昆虫,以及对种群复杂度进行研究等都有较大的应用空间。工业安全方面,WSN可应用于有毒、放射性的场合,它的自组织算法和多跳路由传输可以保证数据有更高的可靠性在医疗上,如果在住院病人或老人身上安装特殊用途的传感器节点,医生就可以随时了解被监护病人或老人的情况,进行远程监控,掌握他们的身体状况,如实时掌握血压、血糖、脉搏等情况,一旦发生危急情况可在第一时间实施救助;也可以实现在人体内植入人工视网膜,所以,WSN能够为未来的远程医疗提供更加方便、快捷的技术实现手段。商业方面,WSN可用在货物的供应链管理中,帮助定位货品的存放位置、货品的状态、销售情况。通过装载在节点上的温湿度传感器、加速度传感器等,记录集装箱是否被打开过,是否过热、受潮或撞击等。在交通运输中,WSN可以对车辆,集装箱等多个运动的个体进行有效的状态监控和位置定位。1.识别与感知技术(4)摄像头与图像识别技术通过摄像头采集图像、视频数据,并使用图像识别技术分析数据内容,广泛应用于智能安防、自动驾驶、工业检测等领域。(5)地理位置坐标识别技术用于确定物体或人员在地球表面的精确位置(经度、纬度、高程),广泛应用于导航、测绘、物联网、智慧城市等领域。2.网络与通信技术(1)无线通信技术短距离无线通信技术:长距离无线通信技术:NB-IoT(窄带物联网),5G,LTE-M,LoRa,Sigfox和卫星通信,适用于远距离、广覆盖、低功耗的物联网应用。技术核心定位经典应用场景Wi-Fi宽带无线接入,功耗高需持续供电家庭网络、视频流、云服务蓝牙个人设备互联耳机、音箱、鼠标、键盘、健康手环NFC安全近场交互,极短距低速手机支付、门禁卡、电子票务ZigBee工业/家居物联网低功耗网络智能照明、环境传感器、远程监控2.网络与通信技术(2)有线通信技术以太网:一种局域网技术标准,适用于工业物联网和智能建筑等对稳定性、带宽、实时性要求高的场景。光纤通信:利用光信号通过光纤传输数据的技术,具有高带宽、低损耗和抗干扰能力强等特点,适用于骨干网络。(3)网络协议:用于规范设备之间的通信和数据传输采用的协议有:。MQTT:一种轻量级的消息传输协议,专为低带宽、不稳定的网络环境设计,适用于智能家居、工业物联网和环境监测等领域。CoAP:一种专为物联网设计的应用层协议,特别适合资源受限的低功耗设备,常用于智能家居、环境监测和农业物联网等场景。HTTP/HTTPS:互联网中广泛使用的协议,适用于数据传输。HTTPS通过加密保证了数据的安全性,常用于需要传输大量数据或对安全性要求较高的场景。3.数据处理与分析技术(1)边缘计算(EdgeComputing):将数据处理和分析从云端迁移到靠近数据源边缘设备的技术架构。(2)云计算:提供大规模数据存储和计算能力,支持大数据分析、AI模型训练、物联网平台支持等。(3)大数据技术:处理和分析海量数据的技术,如Hadoop、Spark、Flink等,能够挖掘数据价值,支持预测分析、趋势分析、用户行为分析等。(4)人工智能(AI):研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。4.数据安全与隐私保护技术(1)传输加密:可保障通信安全,如TLS/DTLS协议(2)设备认证:能实现身份鉴别,如数字证书(3)数据保护:能确保信息不可篡改,如区块链(4)隐私计算:可实现“数据可用不可见”,如联邦学习物联网的关键技术还有“平台与中间件技术”,为物联网提供统一的开发和管理支持;“应用与服务技术”是物联网价值的最终体现。6.1.3物联网发展趋势和挑战1.物联网的发展趋势(1)5G/6G(实验室/预商用)通信技术持续演进(2)边缘智能,AI芯片与轻量化模型实现本地化实时决策,边缘计算与AI深度融合(3)区链技术逐步应用于设备身份认证和数据溯源(4)应用场景持续拓展(5)商业模式加速转型,“产品即服务”模式2.物联网的面临挑战(1)安全风险日益突出。(2)标准与互操作性不足。(3)能耗问题亟待解决。(4)可持续发展压力增大。(5)隐私与合规压力。(6)专业人才缺口制约发展。3.物联网的未来(1)市场规模持续扩大,(3)社会价值日益凸显(2)技术创新将推动产业升级6.2 云计算6.2.1 云计算概述1.云计算起源企业的烦恼企业每建设一套业务都要购买新的硬件设备(例如服务器、存储器等)和系统软件(例如数据库、中间件等);对硬件资源的要求是按照业务的高峰值的需要来进行购买,但是此应用的高峰期是具有周期性的;这些设备平时占用大量的空间,消耗大量的电力,利用率却不高;管理复杂、运维成本高,IT部门的工作人员忙于解决员工电脑的操作系统错误和应用软件的错误;云计算:解决了硬件利用率太低,费电、占空间、运维成本高等问题。服务器到底什么是云计算呢?2.云计算的定义云计算的基本思想使用者可以通过网络从云端获得能力:云端提供计算能力、存储能力、和各种各样功能的应用;2.云计算的定义Wikipedia(维基百科),云计算是一种基于互联网的计算新方式,通过互联网上异构、自治的服务为个人和企业用户提供按需即取的计算。Berkeley(伯克利)大学,云计算是指Internet上以服务发布的应用以及支撑这些服务的数据中心的软件和硬件。云计算是一种商业计算模型。它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。美国国家标准与技术研究院(NIST)的定义是:云计算是一种按使用量付费的模式,这种模式允许用户通过无所不在的、便捷的、按需获得的网络,接入到一个可动态配置的共享资源池(资源包括:网络设备、服务器、存储、应用软件、服务等),只需投入很少的管理工作,或与服务供应商进行很少的交互,就可实现这些配置资源的快速提供。2.云计算的定义3.云计算的特点(1)超大规模:(2)虚拟化:(3)高可靠性:(4)通用性:(5)高可扩展性:(6)按需服务:(7)成本效益:(8)潜在风险:云计算(CloudComputing)是分布式计算(DistributedComputing)、并行计算(ParallelComputing)、效用计算(UtilityComputing)、网络存储(NetworkStorageTechnologies)虚拟化(Virtualization)、负载均衡(LoadBalance)、热备份冗余(HighAvailable)等传统计算机和网络技术发展融合的产物。并行计算集群计算网格计算云计算4.云计算的服务类型云计算的服务类型:IaaS、PaaS和SaaS。共同的特点:不管是基于设备、平台还是软件,都是提供服务的。所以说:云计算就是提供服务的。资源池化就是把Iaas、Paas、Saas层的资源(CPU、存储、网络等)放入到资源池中(云服务器),云服务器进行集中管理。所以云计算里所有的服务都是通过资源池里的资源而提供的。
位于云计算最底层的是IaaS,消费者通过Internet可以从完善的计算机基础设施获得服务,而不用理会其他如服务器硬件购买、托管、监控、维护等工作。消费者自己安装操作系统、中间件、数据库、应用程序等。IaaS(Infrastructure-as-a-Service)基础设施即服务第二层就是PaaS,PaaS实际上是指将软件研发的平台作为一种服务,以SaaS的模式提交给用户。因此,PaaS也是SaaS模式的一种应用。但是,PaaS的出现可以加快SaaS的发展,尤其是加快SaaS应用的开发速度。消费者自己开发或安装程序,并运行程序。PaaS(Platform-as-a-Service)平台即服务第三层就是SaaS,它是一种通过Internet提供软件的模式,用户无需购买软件,而是向提供商租用基于Web的软件,来管理企业经营活动。这一层是人们在生活中每天都要接触的一层,大多是通过网页浏览器来实现的。系统中的应用软件层作为服务出租出去,消费者不用安装软件,直接使用。SaaS(Software-as-a-Service)软件即服务4.云计算的服务类型云计算的服务类型:IaaS、PaaS和SaaS。共同的特点:不管是基于设备、平台还是软件,都是提供服务的。所以说:云计算就是提供服务的。资源池化就是把Iaas、Paas、Saas层的资源(CPU、存储、网络等)放入到资源池中(云服务器),云服务器进行集中管理。所以云计算里所有的服务都是通过资源池里的资源而提供的。
5.云计算的使用类型1.公有云(PublicCloud)2.私有云(PrivateCloud)3.混合云(HybridCloud)4.多云(Multi-Cloud)6.2.2 云计算的关键技术6.2.2云计算关键技术1.编程模型2.海量数据分布存储技术3.海量数据管理技术4.虚拟化技术5.云计算平台管理技术1.编程模型MapReduce是Google开发的java、Python、C++编程模型,它是一种简化的分布式编程模型和高效的任务调度模型,用于大规模数据集(大于1TB)的并行运算。严格的编程模型使云计算环境下的编程十分简单。MapReduce模式的思想是将要执行的问题分解成Map(映射)和Reduce(化简)的方式,先通过Map程序将数据切割成不相关的区块,分配(调度)给大量计算机处理,达到分布式运算的效果,再通过Reduce程序将结果汇整输出。云计算系统由大量服务器组成,同时为大量用户服务,因此云计算系统采用分布式存储的方式存储数据,用冗余存储的方式保证数据的可靠性。云计算系统中广泛使用的数据存储系统是Google的GFS(GoogleFileSystem-可扩展的分布式文件系统)和Hadoop团队开发的GFS的开源实现HDFS。GFS的设计思想不同于传统的文件系统,是针对大规模数据处理和Google应用特性而设计的。它运行于廉价的普通硬件上,但可以提供容错功能。它可以给大量的用户提供总体性能较高的服务。它具有高度的可扩展性和容错性,可以支持多个节点之间的共享访问和并发操作。2.海量数据分布存储技术:GFS/HDFS3.海量数据管理技术:BT/HBase云计算需要对分布的、海量的数据进行处理、分析,因此,数据管理技术必需能够高效的管理大量的数据。云计算系统中的数据管理技术主要是Google的BT(BigTable)数据管理技术和Hadoop团队开发的开源数据管理模块HBase。BT是建立在GFS,Scheduler,LockService和MapReduce之上的一个大型的分布式数据库,与传统的关系数据库不同,它把所有数据都作为对象来处理,形成一个巨大的表格,用来分布存储大规模结构化数据。4.虚拟化技术通过虚拟化技术可实现软件应用与底层硬件相隔离,它包括将单个资源划分成多个虚拟资源的裂分模式,也包括将多个资源整合成一个虚拟资源的聚合模式。虚拟化技术根据对象可分成存储虚拟化、计算虚拟化、网络虚拟化等计算虚拟化又分为系统级虚拟化、应用级虚拟化和桌面虚拟化5.云计算平台管理技术云计算资源规模庞大,服务器数量众多并分布在不同的地点,同时运行着数百种应用,如何有效的管理这些服务器,保证整个系统提供不间断的服务是巨大的挑战。云计算系统的平台管理技术能够使大量的服务器协同工作,方便的进行业务部署和开通,快速发现和恢复系统故障,通过自动化、智能化的手段实现大规模系统的可靠运营。6.2.3 云计算应用与发展1.云计算应用以亚马逊和阿里云为代表的先入者,它们对云计算市场培育做出了巨大贡献,也有雄厚的人才资源、丰富的细分产品和庞大的数据中心;以微软、谷歌、腾讯与百度等为代表的跟进者;以Facebook和网易为代表的黑马公司;以Saleforce、青云等为代表的创业公司;以及以IBM、甲骨文为代表的传统IT企业。194云计算供应商(国外)AmazonEC2AmazonElasticComputeCloudGoogleCloudPlatformMicrosoftAzureCloudIBMCloud195云计算供应商(国内)百度云腾讯云阿里云网易云196华为云阿里云阿里自主研发的飞天操作系统,可以将遍布全球的百万级服务器连成一台超级计算机,以在线公共服务的方式为社会提供计算能力。阿里巴巴不只是中国云计算市场的一股重要力量。197据美国市场研究机构SynergyResearchGroup的数据,2018年第一季度,阿里巴巴超越IBM成为全球第四大云基础设施及相关服务的提供商图6-17飞天操作系统内核2.国内云计算的发展现状(1)市场规模快速增长(4)产业生态日趋完善(3)应用场景持续拓展(2)技术实力显著提升3.国内云计算主要面临的挑战(1)数据安全风险突出(2)技术标准尚不统一(3)专业人才缺口较大(4)市场竞争加剧6.3 大数据6.3.1 大数据概述1960s,IBM开发IMS管理结构化数据,奠定基础。1980s数据仓库概念提出,优化数据管理。1990s互联网兴起,传统数据库面临海量数据存储与处理挑战。技术积累阶段(1960s-2000年)2003-2004年Google三大论文(GFS、MapReduce、BigTable)奠定大数据技术基础。2006年Hadoop开源框架诞生,推动分布式计算发展。2011年麦肯锡提出“4V”特征,明确大数据概念。概念形成阶段(2000-2010年)Spark取代MapReduce,效率提升百倍,推动实时计算发展。AI与大数据融合,如AlphaGo依赖海量数据训练。数据安全法规(GDPR)出台,规范数据使用,保障隐私。产业化应用阶段(2010年至今)1.大数据的起源1.大数据的起源大数据技术发展历程时间轴图表技术演进关系图2.大数据的概念(1)大数据定义:具备4V/5V特征的海量数据集合(2)广义大数据数据+技术+人才+组织的综合体系权威定义:麦肯锡:数据规模超出传统工具处理能力维克托・迈尔:全量数据分析与价值挖掘中国《行动纲要》:容量大、类型多、存取快、价值高3.大数据的特征(5V)特征描述案例/数据(1)Volume(体量大)全球数据总量从EB级迈向ZB时代(2025年预测200ZB)(2)Variety(类型多)结构化(10%-20%)vs.非结构化(80%-90%)社交媒体、传感器数据(3)Velocity(速度快)实时响应需求(如金融风控秒级决策)Netflix每秒800万次用户行为分析(4)Value(价值高)低价值密度,需AI挖掘(如携程机票预测准确率92%)(5)Veracity(真实性)数据质量决定决策可信度4.大数据来源(1)互联网与移动互联网:微信、微博、淘宝(2)物联网(IoT)与传感器设备:工业设备监测、环境传感器(3)科学研究与行业应用:大型强子对撞机(LHC年产生31.5EB数据)(4)新兴技术驱动:AI大模型(GPT-4训练数据)、数字孪生5.大数据思维1.数据驱动决策沃尔玛通过大数据优化库存,年省15亿美元。4.相关性优于因果性:啤酒与尿布案例、谷歌流感趋势预测。2.全样分析:国家电网实时监测故障率降至0.1%。3.效率优先:实时处理需求大于绝对精确性。6.大数据带来的变革智能家居实现设备互联互通,提升生活便利性。健康管理设备实时监测身体数据,助力健康生活。个人生活更智能化、便捷化01KhanAcademy通过大数据实现个性化学习推荐,提升学习效果。教育更个性化与公平化02北京交通信号灯优化,提升通行效率25%,改善城市交通状况。政府治理更精准、透明03导游语音:当游客走到某个对应景点附近,导游语音会自动播放智慧景区:引入热力图,游客可以看到该处游客人数的多少,合理安排游览时间公共服务更智慧05支付宝“芝麻信用”——“芝麻信用分”,授权开通后,每个支付宝用户都可以看到自己的芝麻信用分。分数越高代表信用程度越好,违约可能性越低。经济治理更有效04Netflix《纸牌屋》数据驱动制作,实现商业成功。商业创新更迅猛066.3.2大数据的支撑要素及关键技术1.大数据的支撑要素01020304存储技术计算能力实时处理人工智能成本降幅超2000万倍,1GB从6000美元降至0.03美分,推动大数据存储发展。--01----02----03----04--NVIDIAH100GPU算力较2016年提升50倍,满足大数据处理需求。Netflix用Flink实现每秒800万次分析,满足实时数据处理需求。AlphaGo依赖3000万盘棋局数据训练,AI与大数据深度融合。2.大数据关键技术01数据采集多源异构数据采集,包括数据库、传感器、Web等,为大数据处理提供基础。02数据清洗与预处理缺失值填补、标准化、特征工程等,提升数据质量,确保分析准确性。03数据存储与管理Hadoop、Spark、分布式数据库等技术,满足海量数据存储需求。04数据分析与挖掘统计分析(均值、方差)提供基础数据描述。数据挖掘(分类、聚类、关联规则)挖掘数据价值。05数据可视化数据可视化(Tableau、PowerBI、D3.js)直观呈现分析结果。06应用与反馈应用与反馈(推荐系统、实时风控)实现数据价值落地。6.3.3大数据的发展现状与挑战1.大数据发展现状市场规模中国云计算2024年达6165亿元,CAGR20%,市场增长迅速。技术融合AI+大数据(ChatGPT)、边缘计算(自动驾驶)等技术融合,推动行业发展。行业应用金融风控、医疗影像、智能制造等行业广泛应用大数据技术,提升效率与质量。2.大数据面临挑战GDPR合规成本高,企业面临数据安全与隐私保护压力。数据安全与隐私全球高层次大数据人才缺口超150万,制约行业发展。数据质量非结构化数据占比80%-90%,清洗难度大,影响数据应用效果。人才缺口偏远地区网络延迟影响实时应用,制约大数据技术普及。基础设施未来趋势:技术方向:实时化:边缘计算支持低延迟处理智能化:AI大模型依赖更大规模数据安全强化:量子加密技术应用政策与伦理:数据主权立法(如中国《数据安全法》)平衡数据价值与隐私保护结论:大数据是数字经济的核心生产要素,推动社会从“经验驱动”转向“数据驱动”。未来需突破技术瓶颈(算力、存储)与伦理争议(算法偏见),实现可持续发展。6.4 区块链6.4.1 区块链的基本概念
1.比特币比特币背景:2008年金融危机催生比特币旨在创造一种去中心化、不受传统金融机构控制的数字货币。比特币系统:比特币系统是一个去中心化的数字货币体系创世区块的诞生标志着比特币系统的正式启动,这是区块链上的第一个区块,为后续的所有交易和数据记录奠定了基础。区块链雏形:区块通过哈希值连接形成链。在比特币系统中,每个区块都包含了上一个区块的哈希值,通过这种方式,区块之间相互连接形成了一条不可篡改的链。这种链式结构不仅保证了数据的安全性,还使得区块链具有可追溯性,每一笔交易都可以在区块链上找到完整的记录。2.区块链1.定义:区块链是一种分布式账本技术,它通过密码学和分布式网络实现数据的安全存储与价值传递。这是一种创新的技术架构,从根本上改变了传统的数据记录和传输方式。2.起源:2008年比特币诞生,中本聪提出了区块链技术,为数字货币的去中心化运行提供了技术支撑,开启了区块链技术的发展篇章。核心思想1.去中心化是区块链的核心特性之一,它摒弃了单一的控制中心,使得整个系统的运行不依赖于特定的机构或个人,从而降低了信任成本,让不同节点之间能够平等地参与和协作。2.去信任化意味着在区块链系统中,不需要对交易对手方有绝对的信任,而是通过技术手段来保证交易的安全性和可靠性。3.数据不可篡改是基于区块链独特的哈希算法和链式结构,一旦数据被记录在区块中,就难以被修改,确保了数据的真实性和完整性。区块链的结构区块头:上一个区块哈希值是连接前后区块的重要纽带,它确保了区块链的连续性和完整性;本区块哈希值则是对本区块内容的唯一标识,用于验证区块数据的完整性;时间戳记录了区块创建的时间,为区块链提供了时间维度的信息,有助于排序和验证交易的先后顺序。区块体:区块体主要用于存储交易信息或其他数据它是区块链实际承载业务数据的部分。这些数据经过加密和验证后被存储在区块体中,确保了数据的安全性和可靠性。链式结构:每个区块依赖前一个区块,形成不可逆的链这种结构使得区块链具有高度的稳定性和安全性,一旦某个区块的数据被篡改,后续所有区块的哈希值都会发生变化,从而被整个区块链网络识别和拒绝。3.区块链的分类公有链:公有链是完全开放的区块链,任何人都可以参与其中,无需授权。比特币和以太坊是最具代表性的公有链,代码开源,节点分布广泛,具有高度的去中心化和透明度,适用于全球范围内的数字货币交易和智能合约应用。联盟链:联盟链由多个组织共同管理,适用于多方协作各组织在联盟链中拥有一定的话语权和管理权限,共同制定区块链的运行规则和治理机制。联盟链结合了公有链和私有链的特点,既保证了一定程度的去中心化和透明度,又能够满足合作伙伴之间的信任和协作需求,常用于金融、供应链等领域的跨组织合作。私有链:私有链由单一组织控制,通常用于企业内部的应用场景它的访问权限受到严格限制,只有被授权的节点才能参与区块链的运行和数据访问。私有链适合处理企业内部的敏感数据,如财务信息、商业机密等,能够在保证数据安全的同时,利用区块链的技术优势提高业务效率。4.区块链的特征(1)去中心化:区块链没有单一的控制中心,所有节点都具有平等的地位,共同参与区块链的维护和管理。这种去中心化的结构使得区块链系统更加稳定和可靠,降低了因单点故障或中心机构操控带来的风险,同时也促
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年农家乐承包经营合同
- 2026年科研设施与仪器开放共享服务合同
- 2026年建筑医院古太空合同
- 干细胞研究合作协议
- 2025年社区共享经济服务项目可行性研究报告
- 2025年全自动洗衣机技术升级项目可行性研究报告
- 2025年在线医疗健康管理平台项目可行性研究报告
- 2025年AI读书机器人开发项目可行性研究报告
- 2025年水产品智能仓储物流项目可行性研究报告
- 美工制作合同范本
- 云南民族大学附属高级中学2026届高三联考卷(四)语文+答案
- 期末综合测试卷一(试卷)2025-2026学年二年级语文上册(统编版)
- 2025山东青岛上合控股发展集团有限公司社会招聘31人参考笔试试题及答案解析
- 2025年大学康复治疗学(运动疗法学)试题及答案
- 胎膜早破的诊断与处理指南
- 进出口货物报关单的填制教案
- 被压迫者的教育学
- 2025年科研伦理与学术规范期末考试试题及参考答案
- 上市公司财务舞弊问题研究-以国美通讯为例
- 2025年国家开放电大行管本科《公共政策概论》期末考试试题及答案
- 2024年广东省春季高考(学考)语文真题(试题+解析)
评论
0/150
提交评论