Python程序设计课件汇总整本书电子教案全套课件完整版ppt最新教学教程.ppt

上传人:可****阿 文档编号:72346620 上传时间:2023-02-10 格式:PPT 页数:545 大小:12.82MB
返回 下载 相关 举报
Python程序设计课件汇总整本书电子教案全套课件完整版ppt最新教学教程.ppt_第1页
第1页 / 共545页
Python程序设计课件汇总整本书电子教案全套课件完整版ppt最新教学教程.ppt_第2页
第2页 / 共545页
点击查看更多>>
资源描述

《Python程序设计课件汇总整本书电子教案全套课件完整版ppt最新教学教程.ppt》由会员分享,可在线阅读,更多相关《Python程序设计课件汇总整本书电子教案全套课件完整版ppt最新教学教程.ppt(545页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 Python程序设计程序设计 2021 2021年年1 1月月 第1章 概述n虽然已出现近600多种高级编程语言,但目前流行的仅有20余种,其中Python语言、C语言、C+语言和Java语言是目前最为流行的四种高级程序设计语言。n1.1Python语言的特点与应用nPython是一个结合了解释性、编译性、互动性和面向对象的程序语言。Python的设计具有很强的可读性,语法结构更具有特色。Python语言是解释型语言,与PHP和Perl语言类似,在开发过程中无编译环节。Python是交互式语言,可以在一个Python提示符,直接交互式执行程序。Python是面向对象语言支持面向对象的风格或代

2、码封装于对象的编程技术。Python解决问题快速,提供了丰富的内置对象、运算符和标准库,极大地开拓了Python的应用领域,几乎渗透到所有的学科领域。n1.1.1Python语言的特点n1.易于学习nPython有较少的关键字、结构简单、语法简捷。n2.易于阅读nPython程序定义清晰,便于阅读。Python与其他语言显著的差异是它没有其他语言通常用来访问变量、定义代码块和进行模式匹配的命令式符号,这就使得Python代码变得更加定义清晰和易于阅读。n3.易于维护nPython程序的源代码容易维护。源代码维护是软件开发生命周期的组成部分。Python的成功很大程度上要归功于其源代码的易于维护

3、,当代码长和复杂度高时更突出了易于维护的作用。n4.一个广泛的标准库nPython的最大的优势之一是具有丰富的库,跨平台的,提供了非常完善的基础代码库,便于应用。n5.互动模式n借助互动模式的支持,可以从终端输入执行代码并获得结果,互动的测试和调试代码片断。n6.可移植n基于其开放源代码的特性,Python可以移植到多种平台上。因为Python是用C书写,又由于C具有可移植性,使得Python可以运行在任何带有ANSIC编译器的平台上。尽管有一些针对不同平台开发的特有模块,但是在任何一个平台上用Python开发的通用软件都可以稍加修改或者原封不动的在其他平台上运行。这种可移植性既适用于不同的架

4、构,也适用于不同的操作系统。n7.可扩展n当需要一段关键代码运行速度更快时,就可以使用C/C+语言实现,然后在Python中调用它们。n8.数据库nPython提供所有主要的商业数据库的接口。n9.GUI编程nPython支持GUI可以创建和移植到许多系统调用。n10.可嵌入n可以将Python嵌入到C/C+程序,使程序的用户获得脚本化的能力。n1.2.2Python语言主要版本nPython语言的重要版本如下。nPython2.0版本n2000年10月16日发布,支持Unicode和垃圾回收机制。nPython2.7版本n2010年发布7月3日。nPython3.0版本n2008年12月3日

5、发布,此版不完全兼容之前的Python源代码。nPython3.5版本n2015年发布9月3日发布。n2.自动化nPython是运维工程师首选的编程语言,Python在自动化运维方面应用广泛,Saltstack和Ansible都是著名的自动化平台。n3.常规软件开发nPython支持函数式编程和OOP面向对象编程,能够承担任何种类软件的开发工作,因此常规的软件开发、脚本编写、网络编程等都属于标配能力。n5.WEB开发n基于Python的Web开发框架应用范围非常广,开发速度非常快,能够帮助开发者快速的搭建起可用的WEB服务。Python是Web开发的主流语言,Python也具有独特的优势。对于

6、同一个开发需求能够提供多种方案。库的内容丰富,使用方便。Python在Web方面也有自己的框架,如django和flask等。可以说用Python开发的Web项目小而精,支持最新的XML技术,而且数据处理的功能较为强大。n7.数据分析nPython是数据分析的主流语言之一。Python用来做数据分析,通常用C设计一些底层的算法进行封装,然后用Python进行调用。因为算法模块较为固定,所以用Python直接进行调用,方便且灵活。可以根据数据分析与统计的需要灵活使用。Python是一个比较完善的数据分析生态系统,其中matplotlib经常被用来绘制数据图表,有着良好的跨平台交互特性。网络爬虫又

7、称网络蜘蛛,是从互联网获取大数据的核心工具。Python是主流语言之一,Scrapy爬虫框架应用广泛。nnPandas也是在做数据分析时常用的数据分析包,也是很好用的开源工具。可对较为复杂的二维或三维数组进行计算,同时还可以处理关系型数据库中的数据,Python的数据分析功能要强于R。在大量数据的基础上,结合科学计算、机器学习等技术,对数据进行清洗、去重、规格化和针对性的分析是大数据行业的基石。n8.人工智能nPython在人工智能大范畴领域内的机器学习、神经网络、深度学习等方面都是主流的编程语言,得到广泛的支持和应用。在人工智能的应用方面,Python强大而丰富的标准库和扩展库以及数据分析能

8、力。在神经网络、深度学习方面,Python都能够找到比较成熟的包来加以调用。而且Python是面向对象的动态语言,且适用于科学计算,这就使得Python在人工智能方面备受青睐。虽然人工智能程序不限于Python,但依旧为Python提供了大量的API,这也正是因为Python当中包含着较多的适用于人工智能的模块。调用方便,Python在AI领域具有最强大的竞争力。n1.2程序的设计与运行n一般来说,程序的设计主要分为自顶向下与自底向上两种设计方法。在程序设计的过程中,如果能够将问题分解成多个模块,可再将这些模块分别分解成更小的模块,以此类推,直到分解成最容易编写的最小模块为止,这种程序设计的方

9、式即称为自顶向下法,显然,这是一种还原论的方法。利用自顶向下的方式所编写的程序,其结构有层次,容易理解和维护,同时可以降低开发的成本,但是在程序分解成模块的过程中,可能因此占用较多的内存空n间,造成执行时间过长。n如果在程序设计时,先将整个问题里最简单的部分编写出来,再一一结合各个部分以完成整个程序,这种设计的方式就称为自底向上法。利用自底向上的方式所编写的程序,不太容易看懂和维护,造成程序设计者的负担,反而容易增加开发的成本。n因此在编写程序前的设计就显得相当重要,如果程序的内容很简单,当然可以马上把程序写出来;但是当程序愈大或是愈复杂时,设计的工作就很重要,它可以让程序设计有明确的方向,避

10、免程序的逻辑混乱。有了事前的设计流程,就可以根据这个流程来一步一步设计出所需的程序。n通常设计程序分为六步骤,如下所述。n1.2.1规划程序n首先,必须明确编写某个程序的目的、程序的用户对象以及需求度,如计算员工每个月的工资、绘制图表、数据排序等,再根据这些数据及程序语言的特性,选择一个合适的程序语言,来达到设计程序的目的。可以在纸上先绘制出简单的流程图,将程序的起始到结束的过程写出,一方面,便于理清程序的思路;另一方面,可以根据这个流程图进行编写程序的工作。图1-2是绘制流程图时常用的流程图符号介绍。n图1-2常用的流程图符号n1.2.2编写程序代码及注释n程序经过先前的规划之后,便可以根据

11、所绘制的流程图来编写程序内容。通过比较发现,这种方式会比边写边想下一步该怎么做要快得多。如果事先没有规划程序,在边写边想时,往往会写了又改,改了又写,却一直都达不到满意效果。当很久没有修改这个程序,或是别人必须维护程序时,如果在程序中加上了注释,可以增加这个程序的可阅读性,相对地也增加程序维护的容易程度,可节省日后程序维护所需的时间。n1.2.3编译程序代码n程序设计完成之后,需要将程序代码转换成计算机能够理解的语言。编译器(或编译程序)来完成转换,通过编译程序的转换后,只有在没有错误的时候,源程序才会变成可以执行的程序。如果是编译器在转换的过程中,碰到不认识的语法、未定义的变量等时,必须先把

12、这些错误纠正过来,再重新编译完成,没有错误后,才可以执行所设计的程序。n1.2.4执行程序n通常编译完程序,没有错误后,编译程序会帮我们制作一个可执行文件,在DOS或UNIX的环境下,只要输入文件名即可执行程序。而在TurboC、VisualC+或DevC+的环境中,通常只要按下某些快捷键或者选择某个菜单即可执行程序。n所编写的程序经过编译与链接,将成为可以执行的程序,执行后,就可以获得程序运行的结果。n1.2.5排错与测试n如果所编写的程序能一次就顺利地达到目标,但是有的时候,会发现虽然程序可以执行,但执行后却不是期望的结果。此时可能犯了语义错误,也就是说,程序本身的语法没有问题,但在逻辑上

13、可能有些错误,所以会造成非预期性的结果。所以必须逐一确定每一行程序的逻辑是否有误,再将错误改正。如果程序的错误是一般的语法错误,就显得简单得多,只要把编译程序所指出的错误纠正后,再重新编译,即可将源程序变成可执行的程序。除了排错之外,也必须给予这个程序不同的数据,以测试它是否正确,这也可以帮助找出程序规划的合理性。n1.2.6程序代码的整理与保存n当程序的执行结果都没有问题时,可以再把源程序修改得更容易阅读(例如将变量命名为有意义的名称、把程序核心部分的逻辑重新简化等),以做到简单、易读。此外,需要将程序保存下来。在图1-3中,将程序设计的6大步骤绘制成流程图的方式,可以参考上述的步骤来查看程

14、序设计的过程。图1-3 程序设计的基本流程n源程序编译及链接的过程如图1-4所示。nn1.3Python开发环境部署nIDLE和Anaconda3是常用的Python开发环境。IDLE环境简单实用,而Anaconda3环境对代码编写和项目管理更为方便。在本书中,所有交互模式运行的代码都以IDLE的交互开发环境提示符“”提示符开头,但在直接运行程序时,需要将运行的程序写入一个程序文件保存后,再运行。n1.3.1IDLEnIDLE是Python官方安装包自带的开发环境。IDLE是开发python程序的集成开发环境,是学习Python程序设计的合理选择。当安装好python以后,IDLE也就随之自动

15、安装,不需要另外去查找与操作。同时,使用Eclipse这个强大的框架时IDLE也可以非常方便的调试Python程序。IDLE的基本功能是:语法加亮;段落缩进;基本文本编辑;TABLE键控制;调试程序。n在Python官方网站https/www.python.org/可下载Python3.6x安装包或Python3.7x,根据自己的操作系统选择32位或64位进行安装。建议选择CPython3.6或CPython3.7。安装完成后,出现如图1-5所示的开始菜单。n在开始菜单中,选择IDLE(Python3.764-bit),然后可以看到如图1-6所示的交互模式界面。n可以在打开的界面里面输出一条p

16、ython字符串语句,还有计算2个变量相加的值,输出在屏幕上面。n1.交互模式n在交互模式中每次只能执行一条语句,当提示符再次出现时才可输入下一句。普通语句可以按一次Enter键运行并输出结果,而选择结果、循环结构、函数定义、类定义with块等复合语句,需要按两次Enter键后才可以运行。n2.直接运行.py文件n直接运行.py文件相当于启动了Python解释器,然后一次性执行.py文件的源代,没有机会以交互的方式输入源代码。Python的交互模式和直接运行.py文件的区别是:直接输入python进入交互模式,相当于启动了Python解释器,等待一行一行地输入源代码,每输入一行就执行一行。用P

17、ython开发程序,完全可以一边在文本编辑器中写代码,一边开一个交互式命令窗口,在写代码的过程中,把部分代码粘贴到命令行去验证。n如果需要运行大段程序,其过程如下:nIDLE新建Python文件n打开IDLE后,点击左上角File,然后点击第一项NewFile,即可创建python文件。或者直接使用快捷键Ctrl+N快速创建。n在创建的文件中写Python代码。n保存文件。n直接使用快捷键Ctrl+S,可快速保存。也可以点击窗口左上角File,然后点击Save,取个文件名(扩张名为.py或.pyw),完成保存。n运行保存好的Python文件n直接在IDLE中运行Python程序。点击窗口上方R

18、un,然后点击RunModule,可运行程序。也可以通过快捷键F5,快速运行。n1.3.2Anaconda3nAnaconda3开发环境包集成大量常用的扩展库,并提供JupyterNotebook和Spyder两个开发环境。从官方网站https/ OSX、Linux和Windows三大平台的文字/代码编辑器。具有高效、无干扰的界面。SublimeText的主要功能包括:拼写检查,书签,完整的PythonAPI,Goto功能,即时项目切换,多选择,多窗口等。在编辑方面的多选、宏、代码片段等功能,以及很有特色的Minimap。SublimeText界面设置非常人性化,左边是代码缩略图,右边是代码区

19、域,可以在左边的代码缩略图区域轻松定位程序代码的位置,高亮色彩功能非常方便编程工作。如图1-7所示。n2.Notepad+文本编辑器nNotepad+文本编辑器也可以免费使用,中文界面如图1-8所示。nNotepad+是Windows平台上一款免费且开源的文本编辑器,其功能比Windows系统自带的Notepad(记事本)强大。Notepad+除了可以用于一般的纯文本记录,还可以用于编写小型的计算机程序,因为Notepad+不仅支持多种编程语言的语法高亮显示,还有代码折叠功能,并且Notepad+还支持很多具有特色功能的插件,给日常应用带来很多的便利。n不能使用Word和Windows记事本。

20、其原因是Word保存的不是纯文本文件。n例如,当Notepad+文本编辑器安装完成之后,输入以下代码:nprint(hello,world)nprint前面不要有空格。然后,选择一个目录,例如C:Workspace,将其保存到文件名为hello.py的文件中,在此之后,打开命令行窗口,将当前目录切换到hello.py文件所在目录,可以运行这个程序:nC:Workspacepythonhello.pynhello,worldn也可以保存为其它的名字,例如abc.py,但是必须要以.py结尾。此外,文件名只能是英文字母、数字和下划线的组合。n如果当前目录下没有hello.py这个文件,运行pyth

21、onhello.py将给出如下错误提示:npythonhello.pynpython:cantopenfilehello.py:Errno2Nosuchfileordirectoryn错误提示说明:因为文件不存在,无法打开hello.py这个文件。这时需要检查当前目录下是否有这个文件。n1.4Python基础语法n对于计算机语言程序,计算机需要根据程序执行任务,因此,就必须保证利用程序语言写出的程序不能出现歧义。由于任何一种程序语言都有自己的语法规范,编译程序或者解释程序负责将符合语法规范的源程序转换成计算机能够理解与直接执行的机器语言程序。下面从Python基础语法开始,逐步深入介绍Pyth

22、on语言。n1.4.1一个简单的Python程序n首先以一个简单的Python程序为例,来说明Python程序的基本结构。n例1.1,一个简单的Python程序n#一个简单的Python程序nprint(enterPythonworld!)na=100nifa=0:nprint(a)nelse:nprint(-a)n上述的Python程序解说如下。n1.以#开头的语句是注释语句,注释可以是任意内容,解释器忽略掉注释。在这里的注释是“一个简单的Python程序”。n2.print(enterPythonworld!)语句是一个输出函数语句,输出enterPythonworld!。n3.每一行都是

23、一个语句,当语句以冒号“:”结尾时,被缩进的语句可以看作语句块(语句集),在本例中,语句块仅有一条语句print(a)。n4.执行过程是首先为变量a赋值100,然后通过条件语句判断a是否大于或等于0,如果大于或等于0,则输出a的值,否则输出-a的值。n5.缩进的好处是强迫编程者写出格式化的代码,按照约定,应该始终坚持使用4个空格的缩进(使用Tab键)。缩进的另一个好处是通过较少的缩进代码,就可以将一段很长的代码拆分成若干函数。缩进的不足之处是,当重构代码时,粘贴过去的代码必须重新检查缩进是否正确。n6.print()是一条输出函数语句,print(a)是指输出变量a的内容,print(-a)是

24、指输出-a的内容。n7.在书写Python程序中,要注意区分大小写,Python与python是两个不同的单词。如果写错了大小写,程序将报错。n上述这个简单程序的运行结果是:nenterPythonworld!n100n1.4.2Python程序的基本结构 nPython程序由模块构成、模块包含语句、语句包含表达式、表达式由运算符、变量、常量等对象组成。n1.Python程序由模块组成,模块对应后缀为.py的源文件,一个Python程序可以由一个或多个模块组成。n2.运行Python程序时,需要按照程序中的语句顺序依次执行。n3.语句包含表达式,主要用于创建对象、变量赋值、调用函数、控制分支、

25、创建循环等。n1.4.3基本语法规则n1.标识符n在程序设计语言中,将变量、常量、函数和语句块的名字统称之为标识符。标识符可以是字、编号、字母、符号,也可以是上述元素的集合。nPython的标识符命名规则如下:n首字符必须是字母、汉字或下划线;n中间可以是字母、下划线、数字或汉字,但不能有空格;n区分大小写字母,例如Python和python代表不同的两个变量;n不能使用下述的关键字。n例如,下面是正确的标识符:Abc、b23、Abc。n例如,下述的声明都属于语法错误:n2x=22n2x的第一个字母是数字2。nif=32n使用关键字if作为标识符名称。n2.关键字n关键字又称保留字,是Pyth

26、on系统内部定义和使用的特定标识符。关键字不能用作常数或变量,或任何其他标识符名称,所有Python的关键字只由小写字母组成。Python3.x的关键字如下:nFalseNoneTrueandasassertasyncawaitbreaknclasscontinuedefdelelifelseexceptfinallyforfromnglobalifimportinislambdanonlocalnotorpassnraisereturntrywhilewithyieldn如果编写的程序使用了关键字作为标识符,那么Python解释器就会发出语法错误(SyntaxError:invalidsyn

27、tax)的警告提示信息。n3.注释n注释用于说明和备注程序中的语句和运算,适当地书写注释语句可以很好地增加程序的可读性和可维护性,方便对代码的调试和纠错。n在Python语言中,使用“#”符号单行注释,使用三个单引号注释多行。注释语句仅为说明性的文字,不作为代码运行。例如:n单行注释:#一个简单的Python程序n多行注释:一个简单的nPython程序n4.缩进规则n在Python中不使用大括号,而使用缩进表示代码块,这是Python的重要特色之一。缩进的空格数可变,但是,需要同一代码块的语句必须包含相同的缩进空格数。在Python中,为了明显表现程序的层次,应用了缩进代码风格。一般为4个空格

28、。例如:if分支语句:nIfa=0:nx=10nPrint(x)nElse:nx=-10nprint(x0)n5.语句块n语句是通过缩进形成的语句集合。n例如,由于下述程序第2行语句的缩进空格数不对,将导致程序的运行错误。nIfTrue:nprint(answer:)nprint(True)nelse:nprint(answer:)nprint(False)n6.一条语句可跨越多行n终止行n终止行就是终止语句,例如:nx=1;n在Python中,一般原则是,一行的结束会自动终止出现该行的语句,也就是说可以省略分号。例如:nx=1n一行的结束就是终止该行语句(可以没有分号);n嵌套语句是代码块并

29、且与实际的缩进相关。n语句界定符n在Python中使用分号“;”作为语句界定符。n虽然语句一般都是一行一条语句,但在Python中也有可能出现某一行包括多条语句情况,这时可使用语句界定符分号“;”分隔开。n例如,a=1;b=2;print(a+b)n一行包括a=1、b=2和print(a+b)三条语句。n为了能够实现一条语句横跨多行,只需要将语句使用圆括号“()”、方括号“”、或者大括号“”括起来。任何括在这些符号中的程序代码都可跨行。在括号内的语句将一直运行,直到遇到包含闭合括号的哪一行为止。例如:nmylist=000,111,n.222,n.333,n.444n一条语句横跨四行。n括号内

30、可以包含任何表达式,例如:nx=(a+b+nc+d)n在上述语句中。表达式横跨两行。n当上一行以反斜线结束时,可以在下一行继续,例如:ntotal=x1+nx2+nx3n等价于ntotal=x1+x2+x3n反斜杠“斜杠用于代码跨越多行的情况。如果一条语句过长,在一行内写不完,可使用反斜杠来完成多行书写。对于由三引号定义的字符串()、元组()列表()和字典()可以放在多行,而不必使用续行符,这是由于他们可以准确地表示定义的开始与结束。在、()中的多行语句,不需要使用反斜杠。例如:ntotal=x1,x2,x3,x4,nx5,x6,x7,x8n7.同一行内可以使用多条语句n一般情况下,一行书写多

31、条语句,在一行书写多条语句时,各个语句之间可以使用分号“;”相隔,当换行时,使用换行符分隔。例如:na=1;b=2;c=3ns=abc;print(s)n从第一行开始,前面不能有任何空格,否则将出现错误。n注释语句可以在任何位置开始。n复合语句构造体必须缩进表示层次关系。n例如,循环语句:nforiinrange(5);nprinta(i)n循环体语句printa(i)向右缩进4格。n1.5标准库与扩展库n库是具有相关功能模块的集合,这也是Python的特色之一,即具有强大的标准库、第三方扩展库。n1.5.1标准库n在Python中提供了功能强大的标准库,Python的标准库非常丰富,如下面列

32、出的内容所示,其提供了非常多的功能。库包含内置模块(用C编写)提供访问系统的功能,如文件I/O,以及在为发生在日常编程中的许多问题提供标准化的解决方案的Python模块。这些模块的一些明确旨在鼓励和加强的Python程序的可移植性的抽象掉平台细节到非特定于平台的Api。Windows平台的Python安装程序通常包括整个标准库,而且还包含许多额外的组件。对于unix操作系统Python通常提供作为软件包的集合,因此,它可能需要使用与操作系统提供的包装工具来获取某些或所有的可选组件。n除了标准库,还有正在增长的几千个组件,包括从个别程序和模块的软件包到整个应用程序开发框架,可以从Python软件

33、包索引选择下载。常用的标准库如表1-1所示。n表1-1常用的标准库n标准库是指安装Python就已经安装好了。标准库导入方法如下:n1.importn整个标准库的导入的格式为:import标准库名n例如:importrandomn通过这种导入可以使用这个库中的公共的函数、类或属性。使用的形式是:n标准库名.函数名nimport可以同时在一行语句中导入多个库,例如:nimportmodulename1,modulename2,modulename3n2.fromimportn导入的格式为:frommodulenameimportfuncname(关键字 模块名 关键字 方法名)标准库标准库说明说

34、明math数学模块random随机数以及随机化相关模块datetime日期时间模块collections包含更多扩展性序列的模块functools与函数以及函数式编程有关的模块tkinter开发GUI程序的模块urllib与网页内容读取以及网页地址解析有关的模块n例如:fromrandomimportrandrangen这种导入就比第一种更加的具体,并不是导入整个模块,而是导入模块中的某个函数、类或属性。因为,funcname被直接导入到本地的名字空间了,这样具体的导入后就可以在使用的时候直接使用import的funcname而不需要在funcname前面加上modulename。n1.5.2

35、扩展库n扩展库是程序设计者为了实现某个功能编写的模块,又称为扩展库。例如,pandas用于数据分析、numpy用于数组技术与矩阵计算,scipy应用于科学计算等,已经涉及了众多领域。常用扩展库如表1-2所示。n表1-2常用扩展库扩展库扩展库场景场景openpyxl读写Excel文件python-docx读写Word文件numpy数组计算和矩阵计算scipy科学计算pandas数据分析matplotlib数据可视化或科学计算可视化scrapy爬虫框架shutil系统运维pyopengl计算机图形学编程pygame游戏开发sklearn机器学习tensorflow深度学习n1.扩展库安装扩展库安装

36、n标准库是指安装Python就已经安装,需要先安装之后,再导入、使用。扩展扩展库安管理工具库安管理工具pip功能说明如表功能说明如表1-3所示。所示。n表表1-3pip功能功能说明说明n如果计算上安装多个版本的python或希望在虚拟环境中安装模块,最好切换至相应环境的scripts文件夹下再执行命令。n2.扩展库导入扩展库导入nimport扩展库名扩展库名as别名别名n必须以“扩展库扩展库名.对象名”或“别名.对象名”的形式访问对象。例如:n#计算最大公约数。nimportmathnmath.gcd(2,4)nfrom扩展库名import对象名as别名npip命令实例命令实例说明说明pipf

37、reeze列出已安装模块及其版本号pipinstallpackage=version在线安装指定模块(的指定版本)pipinstallpackage.whl离线安装扩展模块pipinstallpackage1package2依次在线安装模块1、模块2pipinstall-upgradepackage升级模块pipuninstallpackage=version卸载模块n不需要使用扩展库名作为前缀。nfrommathimportgcd()ngcd(2,4)n一次性导入扩展库所有对象,一般不推荐使用。nfrommathimport*ngcd(2,4)nsin(5)n1.6字符编码n在默认情况下,P

38、ython3源码文件采用UTF-8编码,所有字符串都是unicode字符串,但也可以是源码文件所指定的编码。n1.6.1Unicode编码n因为计算机只能处理数字,如果需要处理文本,就必须先把文本转换为数字之后才能处理。早期的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以一个字节能表示的最大的整数就是255。如果要表示更大的整数,就必须用更多的字节。例如两个字节可以表示的最大整数是65535,四个字节可以表示的最大整数是4294967295。将127个字母编码(主要有大小写英文字母、数字和一些符号等)称之为ASCII编码,例如大写字母A的编码是65,小写字母z的编码是122

39、。对于各种程序语言,各国有各自的标准,出现冲突不可避免,导致在多语言混合的文本中,容易出现乱码。n基于上述问题,Unicode编码应运而生。最常用的是用两个字节表示一个字符,对于非常不常用的字符,可用四个字节表示。n当下的操作系统和大多数编程语言都支持Unicode编码。ASCII编码是1个字节,而Unicode编码通常是2个字节。汉字已经超出了ASCII编码的范围。可以看出,如果将ASCII的A字符编码用Unicode编码表示,只需要在ASCII的A字符编码前面补0就可以,因此,A的Unicode编码是0000000001000001。n可以看出,如果统一为Unicode编码,就可以避免乱码

40、问题。但是,如果文本基本上全部是英文,用Unicode编码比ASCII编码需要多一倍的存储空间,在存储和传输上消耗了更多资源。为此,出现了将Unicode编码转化为可变长编码的UTF-8编码的方法。UTF-8编码是将一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母编码为1个字节,汉字通常是3个字节,只有不常用的字符被编码成4-6个字节。如果需要传输的文本包含大量英文字符,使用UTF-8编码就可以节省空间。除此之外,UTF-8编码还有一个好处就是可以将ASCII编码看成是UTF-8编码的一部分,即ASCII编码是UTF-8编码的子集,所以大量只支持ASCII编码的软件可

41、以在UTF-8编码下继续工作,进而实现了向下兼容的功能。n在计算机内存中统一使用Unicode编码,当需要保存到硬盘或者需要传输时就转换为UTF-8编码。在用记事本编辑时,将从文件读取的UTF-8字符转换为Unicode字符后存到内存中,编辑完成后,再将Unicode转换为UTF-8保存到文件中,其过程如图1-9所示。nn浏览网页时,服务器将动态生成的Unicode内容转换为UTF-8,然后再传输到浏览器。如果在网页的源码中含有类似的信息,则表示该网页使用了UTF-8编码。n1.6.2编码使用说明n由于Python源代码是一个文本文件,所以当源代码中包含中文时,为了保存源代码,就需要指定保存为

42、UTF-8编码。当Python读取源代码时,为了按UTF-8编码读取,通常在文件开头写上如下两行:n#!/usr/bin/envpythonn#-*-coding:utf-8-*-n第1行注释是,这是一个Python可执行程序,Windows系统会忽略这个注释;n第2行注释是,按照UTF-8编码读取源代码,否则,在源代码中写的中文输出可能出现乱码。n如果使用Notepad+进行编辑,除了要加上#-*-coding:utf-8-*-外,中文字符串必须是Unicode字符串。n如果.py文件本身使用UTF-8编码,并且也声明了#-*-coding:utf-8-*-,打开命令提示符测试就可以正常显示

43、中文。第2章 数据类型与表达式nPython数据类型可分为基本数据类型和复合数据类型,基本数据类型主要有数值型、字符串型和布尔型,复合数据类型主要有元组、集合、列表和字典等。n2.1基本数据类型n在Python语言中,任何数据类型的数据都可以看成一个对象,可以利用变量指向这些数据对象,也就是说,可以通过对变量赋值实现数据与变量相关联n2.1.1数值类型n数值类型主要有整型数、浮点数和复数型数。n1.整型数n整型数可以表示任意大小的正、负整数,表示方法与数学上的写法完全相同。字面量是以变量或常量给出的原始数据,在Python中有各种类型的字面量,例如:b=101是将整数十进制字面量分配到变量b中

44、。n数值的字面量通常以十进制表示,可以根据特定情况,数值的字面量也可以使用二进制、八进制或十六进制来表示。n在Python语言程序中,整型数的表示方法如下。n 十进制整数,与数学上的写法完全相同,例如:1,50,100,-8080,-100和0。n 二进制整数,以0b开头、后跟二进制数的数据,例如:0b100。n 八进制整数,以0o开头、后跟八进制数的数据,例如:0o100。n 十六进制整数,以0 x开头、后跟十六进制数的数据,例如:0 x90f。n2.浮点数n浮点数可以表示实数数据,浮点数由整数部分、小数点和小数部分组成。浮点数的表示方法如下。n十进制小数表示法n使用十进制小数表示法表示浮点

45、数,如3.1415926、12.3和0.0等,这里的0.0并不是0,小数点左边的0表示一个整数,而小数点右边的0表明是一个浮点数。n在Python中,用字母e(或E)来表示以10为底数的指数,可将1.23109写成1.23e9或者12.3e8。n整数和浮点数在计算机内部存储的方式不同,其中,整数运算可以永远保持精确,而浮点数运算则包含了由于四舍五入引起的运算误差。基于这一点考虑,应该避免在浮点数之间直接进行相等的比较,如果一定需要比较,则可以使用两个浮点数之差的绝对值是否足够小来作为判断两个浮点数数是否相等的条件。n例如:n0.5-0.4=0.1nFalsenabs(0.5-0.4-0.1)i

46、mportsys#导入系统模块nsys.float_info.max#当前系统下浮点数所能够表示的最大数n1.7876931348623157e+308nsys.float_info.min#当前系统下浮点数所能够表示的最小数n2.2250738585072014e-308n3.复数型数n复数型数表示数学中的复数,复数由实数部分和虚数两部分组成,可以使用re+imj或者re+imJ表示,其中复数的实部re和虚部im都是浮点数。j(或J)为虚数单位,j的平方等于-1。n复数的实部和虚部的获取方法n可以使用a+bj或complex(a,b)来表示复数的实部和虚部,其语法格式如下:ncomplex(

47、re,im)nre为real,表示复数的实部。nim为imag,表示复数的虚部。n复数的实部和虚部都z是浮点型。由于complex本身也是类,因此,属性re和im可用于获取复数的实部和虚部,相关属性获取的语法格式如下:n获取复数的实数部分:x.realn获取复数的虚数部分:x.imagn获取共轭复数的方法n获取共轭复数的方法为:z.conjugate()n其中z为complex对象。如果z=1.1+5j,则使用conjugate()方法可以获取其共轭复数为1.1-5j。nz=1.1+5jnz.conjugate()n1.1-5jn4.数值类型的转换n可以对数值类型进行转换,常用下述的四个函数来

48、完成数值类型的转换。nint(x)n利用int(x)可将x转换为一个整数,转换原则是对x的小数部分四舍五入取整。例如:nint(123.4)n123nfloat(x)n利用float(x)可将x转换为一个浮点数,转换原则是对x添加小数点并在小数点后面添加一个0。例如:nfloat(123)n123.0n例如,对于付款中的免除找零的问题,可以利用int(x)函数和float(x)函数的复合操作完成。首先使用int(x)函数将x取整,然后再使用float(x)函数转换成浮点数。nfloat(int(123.4)n123.0n说明对123.4免除找零,仅找回123.0即可。ncomplex(x)n利

49、用complex(x)函数可以将x转换为一个复数,实数部分为x,虚数部分为0。例如:nx=2.2ncomplex(x)n(2.2+0.0j)ncomplex(x,y)n利用complex(x,y)函数可将x和y转换为一个复数,实数部分为x,虚数部分为y,x和y是数字表达式。例如:nx=2.2ny=3.3ncomplex(x,y)n(2.2+3.3j)n2.1.2字符串型n字符串(String)是由数字、字母、下划线组成的一串字符。字符串是用单引号()或者用双引号()括起来的单行字符串,用三个引号括起来的是多行字符串。可用“str”来表示其类型,例如,abc,xyz等都是Python语言的字符串

50、。其中单引号或者双引号只是一种标注方式,其本身并不是字符串的一部分,因此,字符串abc只包含a,b,c这3个字符。如果单引号本身也是一个字符,可以使用双引号括起来,例如,ImOK包含的字符是I,m,空格,O,K这6个字符。nstr1=BigDatanstr2=DataManningn用三引号括起来的内容是两行或两行以上的多行字符串,例如:下面是两行字符串。nBigDatanAnalysis&Manningn2.1.3布尔型n布尔型数值与布尔代数的表示完全一致,一个布尔值只有True、False两种值,可以用于表示具有两个确定状态的量,在计算机中可用1和0来表示。在nPython中,可以直接使用

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁