Python程序设计第1章-入门课件

上传人:hloru****lorv6 文档编号:242613851 上传时间:2024-08-29 格式:PPT 页数:38 大小:1.36MB
返回 下载 相关 举报
Python程序设计第1章-入门课件_第1页
第1页 / 共38页
Python程序设计第1章-入门课件_第2页
第2页 / 共38页
Python程序设计第1章-入门课件_第3页
第3页 / 共38页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,重庆邮电大学硕士学位论文终期答辩,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,重庆邮电大学硕士学位论文终期答辩,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,重庆邮电大学硕士学位论文终期答辩,1,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,重庆邮电大学硕士学位论文终期答辩,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,重庆邮电大学硕士学位论文终期答辩,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,重庆邮电大学硕士学位论文终期答辩,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,重庆邮电大学硕士学位论文终期答辩,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,重庆邮电大学硕士学位论文终期答辩,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,重庆邮电大学硕士学位论文终期答辩,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,重庆邮电大学硕士学位论文终期答辩,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,重庆邮电大学硕士学位论文终期答辩,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,重庆邮电大学硕士学位论文终期答辩,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,重庆邮电大学硕士学位论文终期答辩,*,*,重庆邮电大学硕士学位论文终期答辩,*,重庆邮电大学硕士学位论文终期答辩,*,*,重庆邮电大学硕士学位论文终期答辩,*,*,重庆邮电大学硕士学位论文终期答辩,*,*,重庆邮电大学硕士学位论文终期答辩,*,*,重庆邮电大学硕士学位论文终期答辩,*,*,重庆邮电大学硕士学位论文终期答辩,*,*,重庆邮电大学硕士学位论文终期答辩,*,重庆邮电大学硕士学位论文终期答辩,*,*,重庆邮电大学硕士学位论文终期答辩,*,*,重庆邮电大学硕士学位论文终期答辩,*,*,重庆邮电大学硕士学位论文终期答辩,*,2024/8/29,第,1,章,Python,入门,主 讲 人:,2023/9/5第1章 Python入门,目录,2024/8/29,2,3.,Python可以做些什么,4.,Python的优点,5.,Python和其他语言的比较,6.,项目开始,1. Python的发展历程,2.,为什么使用Python,目录2023/9/523. Python可以做些什么4. P,2024/8/29,1.Python的发展历程,Python,是一种简单易学,功能强大的编程语言。它有高效率的高层数据结构,能够简单、有效地实现面向对象编程。,Python,语法简单,支持动态输入,是解释型语言。在大多数平台上,对于众多领域,,Python,都是一个理想的开发语言,特别适合于应用程序的快速开发。,2023/9/51.Python的发展历程Python是一种,2024/8/29,1.,Python的发展历程,目前,Guido van Rossum,在,Google,工作,主要从事,GAE/Python3.x,方面的研究。,创始人:,Guido van Rossum,时间地点:,1989,年圣诞节期间在阿姆斯特,丹 创造,名字来源: 大蟒蛇飞行马戏团的爱好者,渊源: 从,ABC,发展而来,主要受,Modula-3,的影响,结合了,Unix shell,和,C,的习惯,2023/9/51.Python的发展历程目前Guido v,2024/8/29,1.,Python的发展历程,Python,面世,Python 2.0,于,2000,年,10,月,16,日发布,主要实现了完整的垃圾回收,并且支持,Unicode,。,Python 3.0,于,2008,年,12,月,3,日发布,此版不完完全兼容之前的,Python,源代码。,目前使用最广泛的版本是,Python,3.5,,最新的版本是,Python 3.6.1,2023/9/51.Python的发展历程Python面世P,2024/8/29,1.,Python的发展历程,Python,的设计哲学:,01,简单,03,优雅,02,明确,Python,开发者的哲学:,“,用一种方法,最好是只有一种方法来做一件事,”,。,在设计,Python,语言时,如果面临多种选择,,Python,开发者总会拒绝花哨的语法,而选择明确的没有或者很少有歧义的语法。,2023/9/51.Python的发展历程Python的设计,2024/8/29,2.,为什么使用Python,Packt Publishing是世界上关于编程方面最大的出版商,它在2016年对11 000名访客进行了调查,调查内容包括开发者使用的编程语言、喜欢的框架、薪酬信息等几个方面。调查显示,Python和JavaScript是当今最流行的编程语言,而Java紧随其后,排名第三。,2023/9/52. 为什么使用PythonPackt Pu,2024/8/29,2.,为什么使用Python,2011年1月,Python被TIOBE编程语言排行榜评为2010年度语言。最近几年Python变得越来越流行,在2017年5月TIOBE编程语言排行榜中,Python已处在第四的位置。,2023/9/52. 为什么使用Python2011年1月,,2024/8/29,2.,为什么使用Python,201,7,年,5,月TIOBE编程语言排行TOP,1,0榜单,2023/9/52. 为什么使用Python2017年5月T,2024/8/29,3,.,Python可以做些什么,桌面,GUI,软件开发,(wxPython,PyQT),网络应用开发,(,内置模块, Twistd,Stackless),2/3D,图形处理,游戏开发,(PIL,pyGame),文档处理,科学计算,(moinmoin,numpy),Web,应用开发,(Flask,Django,Z,OPEQuixote),移动设备应用开发,(PyS60),数据库开发,(,支持,SQL,和,NOSQL,ZODB),嵌入其它应用,(,嵌入,C/C+,delphi,调用,DLL),3.1,运用领域,2023/9/53. Python可以做些什么桌面GUI软件,2024/8/29,3,.,Python可以做些什么,3.2,谁在用,Python,典型几个国外公司,:,2023/9/53. Python可以做些什么3.2 谁在用,2024/8/29,3,.,Python可以做些什么,典型几个国内公司,:,3.2,谁在用,Python,2023/9/53. Python可以做些什么典型几个国内公,2024/8/29,2,4,.,Python的优点,免费,Python的使用和分发是完全免费的。,可升级,Python提供了基本的开发模块,你可以在它上面,开发你的软件,而且当这些需要扩展和增长时,Python的可,插入性和模块化结构能使你的项目生机盎然并易于管理。,解释性,Python,编写的程序无需编译,可直接从源代码运,行程序。,易维护,几个月后阅读自己的代码,不会云里雾里。,可移植性,由于它的开源本质,,Python,已经被移植在许多,平台上。,2023/9/524. Python的优点免费 Pyth,2024/8/29,面向对象,Python,即支持面向过程的编程也支持面向对象,的编程。在,“,面向过程,”,的语言中,程序是由过程或仅仅是可,重用代码的函数构建起来的。在,“,面向对象,”,的语言中,程序,是由数据和功能组合而成的对象构建起来的。,丰富的库,Python,标准库庞大。可帮助处理各种工作,包,括正则表达式、文档生成、单元测试、线程、数据库、网页,浏览器、,CGI,、,FTP,、电子邮件、,XML,、,XML-RPC,、,HTML,、,WAV,文件、密码系统、,GUI,(图形用户界面)、,Tk,和其他,与系统有关的操作,4,.,Python的优点,2023/9/54. Python的优点,2024/8/29,5,.,Python和其他语言的比较,Python VS,C,:,Python,是动态编译语言,,C,是静态编辑语言 。,C,中内容管理是由开发者管理,,Python,中内存问题由,Python,解,释器负责。,Python,自带数据类型支持库。,C,中对于混杂数组(,Python,中,得列表)和哈希表(,Python,中得字典)还未存在标准库。,Python,不能用来写内核。,借助,Python,语言提供的,API,,使用,C,或者,C+,来对,Python,进行,功能性扩展。,2023/9/55. Python和其他语言的比较Pytho,2024/8/29,Python VS Java,:,Python,支持面向对象,&,函数编程方式。,java,支持面向对象。,Python,比,Java,要简单,非常适合与构造快速原型。,Python,和,Java,适合多名程序员以渐进方式协同开发大型项目。,Python VS SHELL,:,Python,语法简单,可移植性好。,Shell,代码重用读低,造成代码量大。,Python,可以重用代码,提倡简洁的代码设计,高级的数据库结构和模块化组建。,5,.,Python和其他语言的比较,2023/9/5Python VS Java :5. Pyt,2024/8/29,5,.,Python和其他语言的比较,Python VS,Ruby,:,Ruby,没有Python的简单性。比较复杂的面向对象语法、“块”语法的引入、正则表达式的引入、一些简写标记都增加了语言的复杂性。,Python的缩进表达方式比Ruby的Basic的表达方式更让人悦目,Ruby程序满眼的end让人不舒服。当然,Ruby认为end的方式比Python更先进。,Ruby还没有Python的“自省”能力,没有从程序文件中生成文档的能力。,Ruby还没有国际化的支持,这是因为Ruby的历史比Python要短。,2023/9/55. Python和其他语言的比较Pytho,2024/8/29,Python VS,PHP,:,Python的可读性、可维护性比PHP好。,PHP这种类C的语法是以大括号划分代码块来确定程序逻辑的, 而Python则采用代码缩进的形式。,Python是跨平台的,你可以运用Python在Mac、Linux、Windows下;PHP没有这些能力。,PHP支持switch和dowhile结构,而Python则不支持。,5,.,Python和其他语言的比较,2023/9/5Python VS PHP:5. Pytho,2024/8/29,6,.,项目开始,6.1Python版本差异,Python 2.x和Python 3.x都处在Python社区的积极维护之中。但是Python 2.x已经不再进行功能开发,只会进行bug修复、安全增强以及移植等工作,以便使开发者能顺利从Python 2.x迁移到Python 3.x。Python 3.x经常会添加新功能并提供改进,而这些功能与改进不会出现在Python 2.x中。所以强烈建议大家使用Python 3.x来开发自己的下一个Python项目。,2023/9/56. 项目开始6.1Python版本差异P,2024/8/29,Python 2.x和Python 3.x有一个最大的不同点,那就是语法,例如最简单的print()。如果在Python 3.x中输入print(Hello World!),会成功打印。但是如果用Python 2.x的print()语法来打印,例如输入printHello World!,就会报错。,6,.,项目开始,6.1Python版本差异,print(),2023/9/5Python 2.x和Python 3.x有,2024/8/29,Python 2.x:, x=2,y=3, z=x+y, print z,5,Python 3.x:, x=a, y=b, print(x,y),a b,6,.,项目开始,6.1Python版本差异,print(),在Python 2.x中使用额外的括号也是可以的。但反过来,在Python 3.x中想以Python2.x中不带括号的形式调用print函数,则会触发SyntaxError异常。,2023/9/5Python 2.x:6. 项目开始6.1,2024/8/29,Python 2.x:, print(Hello,World!),(Hello,World!),Python 3.x:, print Hello,World!,SyntaxError: Missing parentheses in call to print, print (Hello,World!),Hello,World!, print (Hello,World!),(Hello,World!),6,.,项目开始,6.1Python版本差异,print(),2023/9/5Python 2.x:6. 项目开始6.1,2024/8/29,2,6,.,项目开始,6.1Python版本差异,除法运算,Python中的除法有/和/两个运算符。在Python 2.x中/除法就跟我们熟悉的Java、C语言差不多一样。整数相除的结果是一个整数,把小数部分完全忽略掉,浮点数除法会保留小数点的部分得到一个浮点数。在Python 3.x中/除法不再这么做了,对于整数之间的相除,结果也会是浮点数。,Python 2.x:, 5 / 4,1, 5 / 4.0,1.25, 5.0 / 4.0,1.25,2023/9/526. 项目开始6.1Python版本差异,2024/8/29,Python 3.x:, 5 / 4,1.25, 5 /4.0,1.25, 5.0 /4.0,1.25,6,.,项目开始,6.1Python版本差异,除法运算,接上一页,PPT,而对于/除法,这种除法叫作floor除法,会对除法的结果自动进行一个floor操作,在Python 2.x和Python 3.x中是一致的。,2023/9/5Python 3.x:6. 项目开始6.1,2024/8/29,6,.,项目开始,6.1Python版本差异,Unicode,Python 2.x有ASCIIstr()类型,其中unicode()是单独的且不是byte类型。现在,在Python 3.x中,我们最终有了Unicode(utf-8)字符串,以及一个字节类:byte和bytearrays。,2023/9/56. 项目开始6.1Python版本差异,2024/8/29,6,.,项目开始,6.1Python版本差异,异常,在Python 3.x中处理异常也有微小的变化,我们使用as作为关键词。捕获异常的语法由except exc, var改为except exc as var。使用语法except (exc1, exc2) as var可以同时捕获多种类别的异常。,在Python 2.x中,异常在代码中除了表示程序错误,还经常做一些普通控制结构应该做的事情。在Python 3.x中可以看出,设计者让异常变得更加专一,只有在错误发生的情况才能用异常捕获语句来处理。,2023/9/56. 项目开始6.1Python版本差异,2024/8/29,6,.,项目开始,6.1Python版本差异,八进制字面量表示,在Python 3.x中,表示八进制字面量的方式只有一种,就是0o1000,。,python 2.x:, 0o1000,512, 01000,512,python 3.x:, 01000,SyntaxError: invalid token, 0o1000,512,2023/9/56. 项目开始6.1Python版本差异,2024/8/29,6,.,项目开始,6.1Python版本差异,不等运算符,在Python 2.x中不等于有两种写法:!=和,而在Python 3.x中去掉了,只有!=一种写法。,2023/9/56. 项目开始6.1Python版本差异,2024/8/29,6,.,项目开始,6.1Python版本差异,数据类型,Python 3.x去除了long类型,现在只有一种整型int,但它的行为就像Python 2.x版本的long。,新增了bytes类型,对应于Python 2.x版本的八位串。,2023/9/56. 项目开始6.1Python版本差异,2024/8/29,2,6,.,项目开始,6.1Python版本差异,面向对象,引入抽象基类(Abstraact Base Classes,ABCs)。,容器类和迭代器类被ABCs化,所以cellections模块里的类型比Py 2.5多了很多。 另外,数值类型也被ABCs化(具体参阅PEP 3119和PEP 3141)。,迭代器的next()方法改名为_next_(),并增加内置函数next(),用以调用迭代器的_next_()方法,增加了abstractmethod和abstractproperty两个decorator,编写抽象方法(属性)更加方便。,2023/9/526. 项目开始6.1Python版本差异,2024/8/29,在Python 2.x中xrange()创建迭代对象的用法是非常流行的,比如:for循环或者是列表/集合/字典推导式,这个表现十分像生成器(比如“惰性求值”)。但这里的xrange-iterable是无尽的,这意味着可能在这个xrange上无限迭代。,在Python 3.x中,range()的实现方式与xrange()函数相同,所以就不存在专用的xrange()(在Python 3.x中使用xrange()会触发NameError)。,6,.,项目开始,6.1Python版本差异,xrange,2023/9/5在Python 2.x中xrange()创建,2024/8/29,6.,2 项目结构,我们应该审慎地使用包和层次结构,使得项目结构保持简单。因为过深的层次结构会使得目录导航变得困难,而过平的层次结构则会使项目变得臃肿。,将单元测试放在包目录的外面是一个常犯的错误。这些测试实际上应该被包含在软件的子一级包中,原因如下:,避免被setuptools(或者其他打包的库)作为tests顶层模块自动安装。,便于被安装,且其他包能够利用它们构建自己的单元测试。,6,.,项目开始,2023/9/56.2 项目结构我们应该审慎地使用包和层次结,2024/8/29,6,.,项目开始,标准的包目录结构,2023/9/56. 项目开始标准的包目录结构,2024/8/29,setup.py是Python安装脚本的标准名称。在安装时,它会通过Python分发工具(distuils)进行包的安装。可以通过README.rst(或者README.txt,或者其他合适的名字)为用户提供重要信息。requirements.txt应该包含Python包所需要的依赖包,也就是说,所有这些包都会预先通过pip这样的工具进行安装以保证你的包能正常工作。test-requirements.txt,它应该列出运行测试集所需要的依赖包。最后,docs文件夹应该包括reStructuredText格式的文档,以便能够被Sphinx处理。,包中还经常需要包含一些额外的数据,如图片、Shell脚本等。不过,关于这类文件如何存放并没有一个统一的标准。因此放到任何觉得合适的地方都可以。,6,.,项目开始,6.,2 项目结构,2023/9/5setup.py是Python安装脚本的标准,2024/8/29,6.,3 编码风格,6,.,项目开始,Python Enhancement Proposal #8(8号Python增强提案),它又叫PEP 8,是针对Python代码格式而编订的风格指南。尽管可以在保证语法正确的前提下随意编写Python代码,但是,采用一致的风格来书写可以令代码更加易懂、更加易读。采用和其他Python程序员相同的风格来写代码,也可以使项目更利于多人协作。即便代码只会由你自己阅读,但遵循这套风格可以让后续的修改变得容易一些。,2023/9/56.3 编码风格6. 项目开始Python,2024/8/29,6,.,项目开始,6.,3 编码风格,下面是应该遵守主要的规则:,使用space(空格)来表示缩进,而不要用tab(制表符)表示。,和语法相关的每一层缩进都用4个空格来表示。,每行的字符数不应超过79。,采用ASCII或UTF-8编码文件。,对于占据多行的长表达式来说,除了首行之外的其余各行,它都应该在通常的缩进级别之上再加4个空格。,文件中的函数与类之间应该用两个空行隔开。,不要在行尾加分号,也不要用分号将两条命令放在同一行。,2023/9/56. 项目开始6.3 编码风格下面是应该遵守,2024/8/29,6.,3 编码风格,6,.,项目开始,在同一个类中,各方法之间应该用一个空行隔开。,在使用下标来获取列表元素、调用函数或给关键字参数赋值的时候,不要在两旁添加空格。,为变量赋值的时候,赋值符号的左侧和右侧应该各自写上一个空格,而且只写一个就好。PEP 8提倡采用不同的命名风格来编写Python代码中的各个部分,以便在阅读代码时可以根据这些名称看出它们在Python语言中的角色。,函数、变量及属性应该用小写字母来拼写,各单词之间用下划线相连,例如,lowercase_underscore。,2023/9/56.3 编码风格6. 项目开始在同一个类中,,2024/8/29,6,.,项目开始,6.,3 编码风格,受保护的实例属性,应该以单个下划线开头。,类与异常,应该以每个单词首字母均大写的形式来命名。,模块级别的常量,应该全部采用大写字母来拼写,各单词之间以下划线相连,例如,ALL_CAPS。,类中的实例方法(instance method),应该把首个参数命名为self,以表示该对象自身。,类方法(class method)的首个参数,应该命名为cls,以表示该类自身。,检测somelist是否为1或hi等非空值时,也应如此,if somelist语句默认会把非空的值判断为True。,2023/9/56. 项目开始6.3 编码风格受保护的实例属,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!