购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.3 Python的应用

Python应用的领域十分广泛,除了本身拥有功能完备的标准函数库之外,也可以加入第三方的函数库。再加上Python拥有庞大的开放式资源网上社区,世界各地的社区人群也会定期举办聚会,彼此交流,精益求精。Python的应用可以说是无所不及,看到如此广泛的应用,相信可以激发大家的学习动力。

1.3.1 Web开发框架

Web程序开发包括前端与后端技术,仅仅是前端就有HTML、JavaScript以及CSS等技术,后端技术更多。Web框架简单来说就是为建立Web应用制定了一套规范,简化了所有技术上的细节,只要运用Web框架(Web Framework)模块就可以轻松构建出实用的动态网站。在Python领域,知名的Web框架有Django、CherryPy、Flask、Pyramid、TurboGear等。图1-10所示是Django Web开发框架官方网站的首页( https://www.djangoproject.com/ )。

图1-10

技巧

JavaScript:一种解释型的描述语言,是在客户端(浏览器)“解释”程序代码,内嵌在HTML语法中,当浏览器解析HTML文件时,就会解释JavaScript语法并执行。JavaScript不仅可以让我们“随心所欲”地控制网页的界面,也可以让我们与其他技术搭配实现更多的应用。

Cascading Style Sheets(CSS):一般称为层叠样式表,其作用主要是为了加强网页上的排版效果(图层也是CSS的应用之一),可以用来定义HTML网页上对象的大小、颜色、位置与间距,甚至可以为文字、图片加上阴影等功能。

1.3.2 数字科技集成开发

信息技术(Information Technology,IT)不断进步,数字化应用从日常生活到工作处处可见,各种设备与因特网、移动网络紧密融合,甚至有人大胆预测,未来10年内,许多工作将会被机器人所取代。在各种数字化应用技术中,“大数据分析”“物联网”和“人工智能”是最受关注的领域。Python有各种易于扩展的数据分析与机器学习模块库(Library),比如NumPy、Matplotlib、Pandas、Scikit-Learn、SciPy、PySpark等,让Python成为数据分析与机器学习的主要程序设计语言之一。

下面大家一起来认识“物联网”“大数据分析”和“人工智能”这些应用领域。

1.物联网

物联网(Internet of Things,IOT)是近年来信息产业中一个非常热门的话题,物联网这个概念最早是由学者Kevin Ashton在1999年提出的,是让生活中的物品能通过互联互通的传输技术进行传感、感知与控制。例如,智能家电可以让用户从远程通过移动应用程序(App)操控电冰箱、空调等电器,这种远程遥控还可以让电器自动调节。又例如,RFID、环境传感器、全球定位系统(GPS)、激光扫描仪等种种设备与因特网结合起来,形成一个巨大的网络系统,全球所有的物品都可以通过网络主动交换信息,通过因特网技术让各种实体对象、自动化设备彼此沟通和交换信息,渐渐让现代人的生活进入一个始终连接(Always Connect)的网络时代,其最终的目标是要打造一个先进的智慧城市。

近年来,一些百货公司、便利商店使用的iBeacon技术也是物联网的应用之一,商家只要在店内部署多个Beacon设备,运用机器学习技术对消费者进行观察,卖场不只是提供产品,更应该与消费者互动,一旦顾客进入信号覆盖区域,就能够通过手机上应用程序对不同顾客进行精准的“个性化”分众营销,提供“最适性”服务的体验。由于iBeacon的覆盖范围较小,因此也有人把这样的技术应用称为微定位(micro-location)。

技巧

Beacon是一种低功耗蓝牙技术(Bluetooth Low Energy,BLE),借助室内定位技术的应用,可作为物联网和大数据平台的小型串接设备,具有主动推送营销应用的特性,比GPS有更精准的微定位功能,可运用于室内导航、移动支付、百货导购、人流分析以及物品追踪等邻近的感知应用。

5G时代即将来临,它将带动数字串流飞速地改变整个产业的面貌,物联网概念将为全球消费市场带来新冲击。在我们的生活当中,已经有许多领域集成了物联网的技术与应用,例如医疗看护、公共安全、环境保护、政府工作、家居安防、空气污染监测、泥石流监测等领域。物联网提供了远距医疗系统发展的基础技术,当有患者生病时,通过智能手机或特定终端测量设备,将各种发病症状传到医院的系统中,自动进行对比与分析,提出初步治疗方案,以避免病症加重。另外,Python在Arduino与Raspberry Pi的支持之下,也可以控制硬件,打造各种物联网应用。图1-11所示为Arduino UNO开发板,大小约5.3cm×6.8cm,常用来开发各种传感器或物联网应用。

图1-11

2.大数据分析

物联网的另一种应用是搜集数据并加以分析,进而对用户的行为或环境进行感知与预测。这些收集的数据通常相当巨大,也被称为“海量数据”或“大数据”(Big Data),这些数据必须经过整理分析才能变成有用的信息,因此造就了目前炙手可热的“大数据分析”技术。如图1-12所示为一个大数据应用的例子,京东商城借助大数据技术推荐食品给消费者。

图1-12

阿里巴巴创始人马云在德国CeBIT开幕式上如此声明:“未来的世界,将不再由石油驱动,而是由数据来驱动!”近年来,由于社交网站和移动设备风行,加上万物互联的时代无时无刻地产生大量的数据:用户“疯狂”通过手机、平板电脑、计算机等在社交网站上分享大量信息,数据成长的速度越来越快、种类越来越多。面对不断扩张的惊人数据量,大数据的存储、管理、处理、搜索、分析等处理数据的能力面临新的挑战,也为各个产业的运营模式带来新契机。国内外许多拥有大量顾客数据的科技龙头企业,像腾讯、百度、Facebook、Google、Twitter等,纷纷从中嗅到了商机。

例如,百度地图或谷歌地图(Google Maps)导航能在驾车人员进入堵车路段之前提醒驾驶人员,并找出最快的替代路线,提供这个服务的基础是大量使用Android操作系统手机的用户在道路上行驶,这种应用能实时收集用户的位置和速度,经过大数据分析就能快速又准确地为用户提供实时的交通信息。如图1-13所示为百度地图导航应用的一个例子。

图1-13

3.人工智能

近几年,人工智能的应用领域越来越广泛。人工智能的概念最早是由美国科学家John McCarthy于1955年提出的,目标是使计算机具有类似人类学习解决复杂问题与展现思考等的能力,模拟人类的听、说、读、写、看、动作等的计算机技术都被归类为人工智能可能涉及的范围,例如推理、规划、解决问题以及学习等能力。微软亚洲研究院曾经指出:“未来的计算机必须能够看、听、学,并能使用自然语言与人类进行交流。”

尤其在大数据时代,人工智能(Artificial Intelligence,AI)俨然是未来科技发展的主流方向之一,其中主要原因包括GPU加速运算日渐普及,使得并行计算的速度更快且成本更低,我们也因人工智能而享用许多个性化的服务,生活变得更为便利。

技巧

什么是图形处理单元(Graphics Processing Unit,GPU)?

GPU是近年来科学计算领域的最大变革,是指以图形处理单元(GPU)搭配微处理器(CPU)的新型计算方式。GPU含有数千个小型且效率更高的处理单元,不但可以有效进行并行计算(Parallel Computing),还可以大幅提升计算性能,借以加速科学、分析、游戏、消费和人工智能的应用。

机器学习(Machine Learning,ML)是人工智能发展相当重要的一环,机器通过算法来分析数据,在海量数据中找到规则,进而自动学习并且做出预测。2010年后,机器学习技术之一的深度学习(Deep Learning,DL)算法将人工智能推向类似人类学习模式的更高级阶段。深度学习是人工智能(AI)的一个分支,也可以看成是具有层次性的机器学习,源于类神经网络(Artificial Neural Network)模型,并且结合了神经网络结构与大量的计算资源,目的在于让机器建立模拟人脑进行学习的神经网络,以解释大数据中的图像、声音和文字等多种数据,例如可以代替人们进行一些日常的选择和采购,或者在茫茫“网络海洋”中,独立找出分众消费的营销数据。

技巧

类神经网络是模仿生物神经网络的数学模式,取材于人类大脑结构,研究的基础是:使用大量简单而相连的人工神经元(Neuron)组成类神经网络来模拟生物神经细胞受到一定程度的刺激后如何响应刺激。由于类神经网络具有高速计算、记忆、学习以及容错等能力,因此可以使用一组范例,通过神经网络模型构造出系统模型,以便用于评估、推理、预测、决策、诊断等的相关应用。

通过深度学习的应用,机器正在变得越来越聪明,不但会学习,而且会进行独立“思考”,人工智能的运用也更加广泛。深度学习包括建立和训练一个大型的人工神经网络,可协助计算机理解图像、声音和文字等数据。最令人津津乐道的深度学习应用当属Google Deepmind开发的人工智能围棋程序AlphaGo,它接连大败全世界的围棋高手。AlphaGo的设计除了输入大量的棋谱数据外,还设计精巧的深度神经网络,通过深度学习掌握更抽象的概念,让AlphaGo学习下围棋的方法,接着就能判断棋盘上的各种情况,后来创下了连胜60局的佳绩,AlphaGo还能不断反复与自己比赛来调整神经网络。Google Deepmind官网首页如图1-14所示。

图1-14 SYH/tZhKJ9IGLjxutahscEhTjWEGw5w8uEO6JLqYXijaSJrnMoN64iw/SrWMHMK1

点击中间区域
呼出菜单
上一章
目录
下一章
×