您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 其它相关文档 > 第1章--Python语言介绍-夏敏捷
Python程序设计•主讲夏敏捷•计算机学院副教授Python程序设计应用教程•夏敏捷主编•中国铁道出版社AlphaGo都在使用的Python语言,是最接近AI的编程语言?•屡次战胜人类围棋手的AlphaGo,背后的程序很大一部分就是由Python编程语言编写的。•最近浙江省教育局对其信息技术课程进行了改革,将原VisualBasic语言从教材中移除,更换为Python语言教学内容,甚至还将Python语言纳入了浙江省信息技术高考内容。•谷歌AlphaGo对决围棋世界冠军中国棋手柯洁。•对于人工智能系统的编写,Python天生拥有许多方便开发的「工具库」,满足开发数值计算、机器学习、神经网络以及数据可视化使用,大大提高了程序编写的效率。•Python语言的战略定位,也一定程度地造就了如今的它。Python追求的是一种易用且严谨专业的通用组成语言,让语言本身更容易入门,能将各种基本程序原件拼装协调运作。Python追求的是开发效率,优先级甚至高于CPU效率;不过也正因如此,在使用Python开发时,开发者常常会使用别的编程语言进行配合,让整个程序运行得更快。•另外,Python还拥有非常好的包装能力、可组合性以及可嵌入性,极易形成可用性高的接口–这恰很好满足了人工智能系统开发的需求。第1章Python语言介绍•1.1Python语言简介•1.2安装与配置Python环境•1.3Python开发环境IDLE简介•1.4Python基本输入输出•1.5Python代码规范•1.6使用帮助1.1Python语言简介•Python是一种面向对象、解释型计算机程序设计语言,由荷兰人GuidovanRossum于1989年底发明,第一个公开发行版发行于1991年,Python源代码同样遵循GPL(GNUGeneralPublicLicense)协议。•Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。正因为Python语言的简洁、优雅、开发效率高,它常被用于网站开发,网络编程,图形处理,黑客编程等等。Python由荷兰的GuidovanRossum设计。Python第一个版本于1991年初公开发行。。Python2.0于2000年10月发布,增加了许多新的语言特性。Python3.0于2008年12月发布,此版本不完全兼容Python2.0,导致Python2.0与Python3.0不兼容。Python3.5在2015年9月发布Python3.6正式版在2016年12月发布,主要的新特性包括:async和await关键字可用于生成器和推导;改善CPython实现,在不破坏兼容性的情况下降低内存占用和提高速度;可插拔支持JIT、跟踪器和调试器;引入新的字符串和数字格式,为变量加入类型注释,简化定制子类创建的方法,等等。Python3.72018年7月Python语言的发展历史•TIOBE2016年8月编程语言排行榜是一种面向对象、解释型计算机程序设计语言纯粹的自由软件Python语法简洁清晰,用空格(space)作为语句缩进Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。Python快速生成程序的原型封装Python可以调用的扩展类库跨平台,程序无需修改在Windows、Linux、Unix、Mac等操作系统上使用Web开发,基于python的优秀web框架如Django网络编程,网页解析,如爬虫程序开发科学计算,各种实验数据的处理以及相关实验模拟等,机器学习等数据库应用多媒体开发电子游戏开发人工智能应用应用领域•1.1.3Python语言的应用领域•1.Web开发Python语言支持Web网站开发,比较流行的开发框架有web2py、django等。许多大型网站就是用Python开发的,例如YouTube、Instagram,还有国内的豆瓣。很多大公司,包括Google、Yahoo等,甚至NASA(美国航空航天局)都大量地使用Python。•利用py2exe模块可以将Python程序转换为.exe可执行程序,使得Python程序可以脱离Python系统环境来运行。2.网络编程Python语言提供了socket模块,对Socket接口进行了二次封装,支持Socket接口的访问;还提供了urllib、cookielib、httplib、scrapy等大量模块,用于对网页内容进行读取和处理,并结合多线程编程以及其他有关模块可以快速开发网页爬虫之类的应用程序。3.科学计算与数据可视化•Python中用于科学计算与数据可视化的模块有很多,例如NumPy、SciPy、SymPy、Matplotlib、Traits、TraitsUI、Chaco、TVTK、Mayavi、VPython、OpenCV等,涉及的应用领域包括数值计算、符号计算、二维图表、三维数据可视化、三维动画演示、图像处理以及界面设计等。•3.科学计算与数据可视化•Pandas也是Python在做数据分析时常用的数据分析包,也是很好用的开源工具。Pandas可对较为复杂的二维或三维数组进行计算,同时还可以处理关系型数据库中的数据,和R语言相比,data.frame计算的范围要远远小于Pandas中的DataFrame的范围,这也从另一个侧面说明Python的数据分析功能要强于R。•4.数据库应用•Python数据库模块有很多,例如,可以通过内置的sqlite3模块访问SQLite数据库,使用pywin32模块访问Access数据库,使用pymysql模块访问MySQL数据库,使用pywin32和pymssql模块来访问SQLSever数据库。5.多媒体开发•PyMedia模块是一个用于多媒体操作的Python模块,可以对包括WAV、MP3、AVI等多媒体格式文件进行编码、解码和播放;PyOpenGL模块封装了OpenGL应用程序编程接口,通过该模块可在Python程序中集成二维或三维图形;PIL(PythonImagingLibrary,Python图形库)为Python提供了强大的图像处理功能,并提供广泛的图像文件格式支持。•6.电子游戏应用•Pygame就是用来开发电子游戏软件的Python模块,在SDL库的基础上开发,可以支持多个操作系统。使用Pygame模块,可以在Python程序中创建功能丰富的游戏和多媒体程序。•7.人工智能应用•在人工智能的应用方面,还是得益于Python强大而丰富的库以及数据分析能力。比如说在神经网络、深度学习方面,Python都能够找到比较成熟的包来加以调用。而且Python是面向对象的动态语言,且适用于科学计算,这就使得Python在人工智能方面备受青睐。虽然人工智能程序不限于Python,但Python提供了大量的API,这也正是因为Python当中包含着较多的适用于人工智能的模块,比如sklearn模块等等。调用方便、科学计算功能强大依旧是Python在AI领域最强大的竞争力。目前使用Python的企业•Google在其网络搜索系统中广泛应用了Python,并且聘用了Python的创作者。•YouTube视频分享服务大部分是由Python编写的。•流行的P2P文件分享系统Bittorrent是一个Python程序。•Intel、Cisco、Hewlett-Packard、Seagate、Qualcomm和IBM使用Python进行硬件测试。•IndustrialLight&Magic、Pixar等公司使用Python制作动画电影。•NASA、LosAlamos、Fermilab、JPL等使用Python实现科学计算任务。•IRobot使用Python开发了商业机器人真空吸尘器。•ESRI在其流行的GIS地图产品中使用Python作为终端用户的定制工具。•NSA在加密和智能分析中使用Python。Python缺点任何编程语言都有缺点,Python缺点主要有:•(1)运行速度慢。•(2)代码不能加密。•(3)用缩进来区分语句关系的方式还是给很多初学者带来了困惑。即便是很有经验的Python程序员也可能陷入陷阱当中。最常见的情况是tab和空格的混用会导致错误。1.2安装与配置Python环境1.2安装与配置Python环境•1.2.2运行Python•安装成功后,cmd打开命令提示符窗口,敲入python后,会出现图1-2命令提示符窗口。在窗口中看到python的版本信息的画面,就说明Python安装成功。1.3Python开发环境IDLE简介•1.3.1IDLE的启动•安装Python后,我们可以从“开始”菜单→“所有程序”→“Python3.5”→“IDLE(Python3.5)”来启动IDLE。Python的命令执行方式•启动Python解释器后,可以直接在其提示符()后输入语句。例如,先在提示符后输入一个输出语句,下一行将接着输出结果。•print(Hello,World!)•Hello,World!•print(1+3/4)•1.751.3.2利用IDLE创建Python程序•可在IDLE界面中使用菜单“File”→“NewFile”命令启动编辑器(图1-4所示),来创建一个程序文件,输入代码并保存为文件(务必要保证扩展名为“.py”)。p=input(Pleaseinputyourpassword:\n)ifp!=123:print(passworderror!)1.3.2利用IDLE创建Python程序•Python程序员通常选用第三方集成开发环境(IDE,IntegratedDevelopmentEnvironment)进行程序设计。常用的IDE有Notepad++,PyScripter,PyCharm,EclipsewithPyDev,Komodo,WingIDE等,它们通常具有一些自动代码完成、参数提示、代码错误检查等功能1.3.3IDLE常用编辑功能对于“Format”菜单,常用的选项及解释如下所示:•Indentregion:使所选内容右移一级,即增加缩进量。•Dedentregion:使所选内容组左移一级,即减少缩进量。•Commentoutregion:将所选内容变成注释。•Uncommentregion:去除所选内容每行前面的注释符。•Newindentwidth:重新设定制表位缩进宽度,范围2~16,宽度为2相当于1个空格。•Expandword:单词自动完成。•Toggletabs:打开或关闭制表位。1.3.4在IDLE中运行和调试程序1.运行Python程序要使用IDLE执行程序的话,可以从“Run”菜单中选择“RunModule”菜单项(或按F5键)2.使用IDLE的调试器在“PythonShell”窗口中单击“Debug”菜单中的“Debugger”菜单项,就可以启动IDLE的交互式调试器。这时,IDLE会打开图1-6的“DebugControl”窗口,并在“PythonShell”窗口中输出“[DEBUGON]”并后跟一个“”提示符。这样,我们就能像平时那样使用这个“PythonShell”窗口了,只不过现在输入的任何命令都是允许在调试器下。在“DebugControl”窗口查看局部变量和全局变量等有关内容。1.3.4在IDLE中运行和调试程序••[DEBUGON]•x=3单击GO•[DEBUGON]•y=4单击GO•[DEBUGON]•z=5•[DEBUGON]•常用的Python第三方编辑器•Python程序员通常选用第三方集成开发环境(IDE,IntegratedDevelopmentEnvironment)进行程序设计。常用的IDE有Notepad++,PyScripter,PyCharm,EclipsewithPyDev,Ko
本文标题:第1章--Python语言介绍-夏敏捷
链接地址:https://www.777doc.com/doc-5268438 .html