《Python编程案例教程》全套教学课件_第1页
《Python编程案例教程》全套教学课件_第2页
《Python编程案例教程》全套教学课件_第3页
《Python编程案例教程》全套教学课件_第4页
《Python编程案例教程》全套教学课件_第5页
已阅读5页,还剩546页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Python编程案例教程第1章开始Python编程之旅.pptx第2章Python编程基础知识.pptx第3章判断和循环语句.pptx第4章字符串的使用.pptx第5章列表和元组.pptx第6章字典和集合.pptx第7章函数.pptx第8章面向对象程序设计.pptx第9章文件操作.pptx第10章异常.pptx第11章GUI编程.pptx第12章网络爬虫.pptx第13章游戏开发.pptx全套可编辑PPT课件01第一部分Python入门篇163本章导读由于Python语言的简洁性、易读性以及可扩展性,它在网络爬虫、数据分析、机器学习、Web开发、金融、运维、测试等多个领域日益流行起来。根据TIOBE最新排名,Python已经超越C#,与Java,C,C++一起成为全球4大流行语言。因此,学习Python是非常有必要的。本章首先介绍Python的发展历史、特点、应用场景,然后介绍在不同系统中搭建Python开发环境的方法,最后通过开发第一个Python程序的实例,让读者了解Python的开发流程和编码规范。第1章开始Python编程之旅学习目标了解Python的发展历史、特点和应用领域掌握在Windows,Linux,MacOSX等系统中搭建Python开发环境的方法掌握SublimeText编辑器的安装与使用方法掌握运行Python程序的方法熟悉Python的编码规范Python概述1.1搭建Python开发环境1.2开发第一个Python程序1.3Python是一种面向对象的解释型编程语言,由荷兰人GuidovanRossum于1989年发明,第一个公开发行版于1991年发行。Python语法简洁、清晰,并具有一组功能丰富且强大的类库。Python常被昵称为胶水语言,它能够把用其他语言制作的模块联结在一起。因此,Python常见的应用情形是:使用Python快速生成程序原型,然后对其中有特别要求的部分用更适合的语言改写。例如,由于3D游戏中对图形渲染模块的性能要求比较高,就可以用C/C++重写,然后封装为Python可以调用的类库。1.1.1Python的发展历史在1989年圣诞节,Guido在阿姆斯特丹开发了一种新的编程语言Python,作为ABC语言的一种继承。之所以用Python(通称“大蟒蛇”)作为该编程语言的名字,是因为Guido是MontyPython喜剧团的爱好者。ABC语言是由Guido参与设计的一种教学语言,但ABC语言并没有成功,究其原因,Guido认为是其非开放性造成的。Guido决定在Python中避免这一错误。同时,他还想实现在ABC中闪现过但未曾实现的功能。就这样,Python在Guido手中诞生了。可以说,Python是从ABC发展起来,主要受到了Modula-3(另一种语言)影响,并且结合了Unixshell和C的习惯。知识库1991年,第一个Python编译器诞生。2000年10月,发布Python2.0版本。2008年12月,发布Python3.0版本。2011年1月,Python被TIOBE编程语言排行榜评为2010年度语言。2014年11月,发布消息:Python2.7将在2020年停止支持并且不再发布2.8版本。2018年7月,Python在TIOBE编程语言排行榜升至第四名,如第10页中的表所示。1.1.1Python的发展历史Jul2018ProgrammingLanguageRatingsChange1Java16.139%+2.37%2C14.662%+7.34%3C++7.615%+2.04%4Python6.361%+2.82%5VisualBasic.NET4.247%+1.20%6C#3.795%+0.28%7PHP2.832%-0.26%8JavaScript2.831%+0.22%9SQL2.334%+2.33%10Objective-C1.453%-0.44%表1-12018年7月TIOBE编程语言TOP101.1.1Python的发展历史1.1.2Python的特点Python具有以下显著的特点。213简单易学。Python是一种代表简单主义思想的语言。它采用强制缩进的方式使得代码具有较好的可读性,阅读一个良好的Python程序就像是在读英语文章一样。用Python语言编写程序时无需考虑底层的细节,这使得编程人员能够专注于问题本身,从而找到更好的解决方法。免费开源。Python是FLOSS(免费自由、开放源码软件)之一。使用者可以自由地发布这个软件的拷贝,阅读它的源代码,对它做改动,或者把它的一部分用于新的自由软件中。类库丰富。Python标准库非常庞大,覆盖了网络、文件、GUI、数据库、文本等各种操作。用Python开发,许多功能不必从零编写,直接使用现成的库即可。除此之外,Python还有许多第三方库,可供用户直接使用。1.1.2Python的特点546可扩展。如果需要一段运行速度很快的关键代码或者希望某些算法不被公开,就可以把部分程序用C或C++语言编写,然后在Python程序中调用。解释性。在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。这使得使用Python更加简单,也使得Python程序更加易于移植。可移植性。由于Python的开源性,它已经被移植到多个平台上,如Linux,Windows,Macintosh,Android等。7可嵌入性。可以把Python程序嵌入到C/C++程序中,从而向应用程序提供脚本功能。1.1.3Python的应用领域Python支持广泛的应用程序开发,包括文字处理、Web应用和游戏等。从国内的百度、阿里、腾讯,到国外的谷歌、YouTube、Facebook,Python的企业需求逐渐上升,各公司都在大规模使用Python完成各种开发任务。1.1.3Python的应用领域1.Web应用开发PythonWeb开发中,服务端程序可以分为两个部分应用程序服务器程序服务端程序前者负责对客户端请求进行接收和整理,后者负责具体的逻辑处理。1.1.3Python的应用领域为了方便应用程序的开发,我们把常用的功能封装起来,成为各种Web开发框架,如Django,Flask,Tornado等。不同的框架有不同的开发方式,但是无论如何,开发出的应用程序都要和服务器程序配合,才能为用户提供服务。这样,服务器程序就需要为不同的框架提供不同的支持。这样混乱的局面无论对于服务器还是框架,都是不好的。对服务器来说,需要支持各种不同框架;对框架来说,只有支持它的服务器才能被开发出的应用使用。1.1.3Python的应用领域PythonWeb开发中,这个标准就是TheWebServerGatewayInterface,即WSGI。这个标准在PEP333中描述,后来,为了支持Python3.x,并且修正一些问题,新的版本在PEP3333中描述。有鉴于此,标准化就变得尤为重要。我们可以设立一个标准,只要服务器程序支持这个标准,框架也支持这个标准,那么它们就可以配合使用。一旦标准确定,双方各自实现。这样,服务器可以支持更多支持标准的框架,框架也可以使用更多支持标准的服务器。1.1.3Python的应用领域WSGI的内容主要包括两个部分,一个针对应用程序,一个针对服务器程序。针对应用程序的规定如下:应用程序需要是一个可调用的对象。在Python中,它可以是函数;可以是一个实例,它的类实现了__call__方法(“__”为两个下划线);可以是一个类,此时用这个类生成实例的过程就相当于调用这个类。1可调用对象接收两个参数。2可调用对象要返回一个值,并且这个值是可迭代的。31.1.3Python的应用领域对服务器程序而言,服务器程序会在每次客户端的请求传来时,调用我们写好的应用程序,并将处理好的结果返回给客户端。WSGI规定:服务器程序需要调用应用程序。1.1.3Python的应用领域2.图形界面开发Python可编写多种图形用户界面(GUI),GUI是指采用图形方式显示的计算机操作用户界面。Python支持多种图形界面的库,包括tkinter,PyGTK,PyQt,wxPython等。其中,tkinter是Python的标准GUI库。用户无需安装任何包,就可以直接使用它。1.1.3Python的应用领域3.系统网络运维运维管理系统有大量重复性的工作,为了提高工作效率,使工作尽可能自动化,Python将是一门非常合适的语言。用Python编写的系统管理脚本在可读性、性能、代码重用度、扩展性等方面都优于普通的shell脚本。4.科学与数学计算Python被广泛运用于科学和数学计算中,如生物信息学、物理、建筑、地理信息系统、图像可视化分析、生命科学等。1.1.3Python的应用领域5.网络编程Python对于底层网络的支持很完善,常被用于编写服务器程序、网络爬虫等。与之相关的有Socket模块和Twisted框架。其中,Twisted支持异步网络编程和多数标准的网络协议,并且对其支持的所有协议都带有客户端和服务器实现,同时附带有基于命令行的多种工具,使得配置和部署产品级的Twisted应用变得非常方便。1.1.3Python的应用领域6.3D游戏开发游戏的高性能模块一般使用C++编写,逻辑和服务器一般使用Python或Lua编写。Lua的功能更简单、体积更小,而Python支持更多的特性和数据类型。Python还有很好的3D渲染库和游戏开发框架(PyGame,Pykyra等)。利用Python开发的游戏有黑暗之刃、迪斯尼卡通城等。1.1.3Python的应用领域1.1.4Python版本众所周知,Python官方网站目前同时发行Python2.x和Python3.x两个不同系列的版本,而这两个系列的版本之间很多用法是不兼容的,除了基本输入输出方式有所不同,很多内置函数和标准库对象的用法也有很大的区别。Python3.x在增加了很多新标准库的同时也删除了一些Python2.x的标准库,还对Python2.x的标准库进行了一定程度的合并和拆分。当然,适用于Python2.x和Python3.x的扩展库之间也存在着很大的差别。因此,在正式开始使用Python之前,必须要选择合适的版本,以免浪费时间。1.1.4Python版本总体而言,Python3.x的设计理念更加合理、高效和人性化,全面普及和应用是必然的,越来越多的扩展库推出了与最新Python版本相适应的版本。如果可以自主选择版本,请选择Python3.x版本。基于上述考虑,本书以Python3.x为教学内容,也请读者选择Python3.x版本。Python概述1.1搭建Python开发环境1.2开发第一个Python程序1.3因为Python是一种跨平台的编程语言,所以Python程序可以在不同的操作系统上运行。然而,在不同的操作系统中安装Python开发环境的方法是有区别的。下面介绍在不同的操作系统中搭建Python开发环境的方法。搭建Python开发环境访问/downloads/windows/,下载Windows环境下的Python安装程序,如右图所示。根据操作系统类型(32位或64位操作系统)选择合适的安装程序进行下载。1.2.1在Windows系统中搭建Python开发环境1.安装Python步骤11)安装Python的操作步骤要在Windows系统中安装Python,请参照下面的步骤进行:下载Python安装包

1.2.1在Windows系统中搭建Python开发环境打开下载的Python安装程序后,首先勾选“AddPython3.6toPATH”选项(安装路径添加到系统环境变量Path中),然后选择自定义安装或默认安装。本例选择自定义安装,如右图所示。步骤2安装向导默认安装自定义安装提示如果安装时没有勾选“AddPython3.6toPATH”选项,那么系统就无法自动完成环境变量的配置,读者需要在安装完成后手动配置环境变量,将Python的安装路径添加到环境变量中。1.2.1在Windows系统中搭建Python开发环境在打开的对话框中选择Python提供的工具包,一般保持默认的全部选中,然后单击“Next”按钮,如右图所示。步骤3选择Python工具包1.2.1在Windows系统中搭建Python开发环境在打开的对话框中勾选第一项“Installforallusers(为所有用户安装)”,然后单击“Browse”按钮选择安装目录,最后单击“Install”按钮,如右图所示。步骤4选择高级选项与安装路径1.2.1在Windows系统中搭建Python开发环境开始安装并显示安装进度,如右图所示。安装成功后,单击“Close”按钮关闭对话框即可。步骤5安装进度1.2.1在Windows系统中搭建Python开发环境2)检查Python是否安装成功打开命令提示符(cmd)窗口,执行“python”命令。如果出现类似右图所示结果,就表示Python安装成功。Python安装成功1.2.1在Windows系统中搭建Python开发环境2.在Windows系统中安装文本编辑器SublimeText为便于Python程序反复运行,可使用文本编辑器编写和保存代码。下面介绍一款简单、流行、免费的文本编辑器SublimeText,该编辑器支持多平台,具有良好的扩展功能,运行速度快,且允许添加第三方库。1)安装SublimeText访问/3,下载Windows安装程序。下载完成之后打开该程序,单击“Next”按钮直到安装完成。1.2.1在Windows系统中搭建Python开发环境2)SublimeText界面组成安装完成SublimeText后,选择“开始”菜单中的“SublimeText3”菜单项,可启动SublimeText3开发环境,得到如下图所示操作界面。SublimeText3界面菜单栏标签栏状态栏编辑区主窗口的顶部为主菜单栏;主菜单栏下面是标签栏,标签栏中显示文件名;标签栏下面是编辑区,用来输入和编辑源程序;主窗口的底部为状态栏,用于显示当前行号、当前语言和Tab格式等信息。1.2.2在Linux系统中搭建Python开发环境大部分Linux系统只要安装完毕,都默认安装了Python。读者可以打开终端窗口,执行以下python命令进行验证:$python按Enter键执行该命令,如果系统中已安装Python,会输出如下信息:Python2.7.5(default,Nov62016,00:28:07)[GCC4.8.520150623(RedHat4.8.5-11)]onlinux2Type"help","copyright","credits"or"license"formoreinformation.>>>如果系统中未安装Python,会输出如下信息:bash:python:未找到命令...

提示如果退出Python解释器,可以执行“exit()”命令或按【Ctrl+D】组合键。1.安装Python1.2.2在Linux系统中搭建Python开发环境由于大部分Linux自带Python2.x版本,而本书选择的是Python3.x版本,因此,需要在Linux中重新安装Python3.x版本。下面简要介绍一下Python3.6.1在CentOS7(Linux发行版本之一)中的安装方法。1.2.2在Linux系统中搭建Python开发环境在Linux系统获取root权限,打开终端窗口输入如下命令:$suroot #取得root特权,以root身份执行程序执行上述命令,出现如下所示结果:密码: #输入root密码(不显示)如果密码正确无误,即可在Linux中获取root权限。执行如下命令,安装CentOS7中的相关组件:#yum-ygroupinstalldevelopment #批量安装开发环境组件#yum-yinstallzlib-devel #安装zlib-devel包1)Linux服务器环境的配置依次执行这两个命令,等待程序运行完,即可完成服务器环境的配置。2)安装Python1.2.2在Linux系统中搭建Python开发环境执行如下命令,下载Python-3.6.1的安装包:#wget/ftp/python/3.6.1/Python-3.6.1.tgz #下载Python安装包执行如下命令,将Python-3.6.1的安装包进行解压缩:#tar-zxfPython-3.6.1.tgz #解压Python安装包执行如下命令,切换至Python-3.6.1的目录:#cdPython-3.6.1/ #cd后面的路径是Python-3.6.1的解压路径1.2.2在Linux系统中搭建Python开发环境执行如下命令,对Python-3.6.1进行配置:#./configure #进行Python-3.6.1的配置执行如下命令,编译和安装Python-3.6.1:#make #编译#makeinstall #安装依次执行这两个命令,等待程序运行完,即可完成Python3.6.1的安装。3)检查Python是否安装成功1.2.2在Linux系统中搭建Python开发环境打开终端窗口,执行python3命令,如果输出如右图所示结果,则表示Python安装成功。Linux系统中Python3.6.1安装成功2.在Linux系统中安装与配置文本编辑器SublimeText执行如下命令,下载SublimeText的安装包(根据自己操作系统类型选择其中的一条):1.2.2在Linux系统中搭建Python开发环境1)在Linux系统中安装SublimeText#下载SublimeText64位安装包$wget/sublime_text_3_build_3126_x64.tar.bz2#下载SublimeText32位安装包$wget/sublime_text_3_build_3126_x32.tar.bz2执行如下命令,将SublimeText的安装包进行解压缩(根据下载的安装包选择其中的一条):1.2.2在Linux系统中搭建Python开发环境#解压SublimeText64位安装包$tarjxvfsublime_text_3_build_3126_x64.tar.bz2#解压SublimeText32位安装包$tarjxvfsublime_text_3_build_3126_x32.tar.bz2执行如下命令,切换至SublimeText目录:$cdsublime_text_3 #cd后面是sublime_text_3的解压路径执行如下命令,打开SublimeText:$./sublime_text2)在SublimeText中配置Python31.2.2在Linux系统中搭建Python开发环境打开SublimeText,选择“Tools”>“BuildSystem”>“NewBuildSystem”菜单项,打开一个空配置文件,在这个文件中输入如下代码:{"cmd":["/usr/local/bin/python3","-u","$file"] //注意路径替换成自己的Python3路径}以上代码输入完成之后,将配置文件命名为Python3.sublime-build,并将其保存到默认目录中。再次选择“Tools”>“BuildSystem”菜单项,将会出现“Python3”的选项,将其勾选即可在Python3编译环境下开发应用程序了。

提示Python3的路径可以通过在终端窗口执行“$type-apython3”命令获得。

SublimeText在Linux系统中的运行方式与Windows相同。1.2.3在MacOSX系统中搭建Python开发环境大部分MacOSX系统中都默认安装了Python。打开终端窗口,执行如下Python命令进行验证:$python执行上述命令,如果系统中已安装Python,会输出如下信息:Python2.7.5(default,Aug252013,00:04:04)[GCC4.2.1CompatibleAppleLLVM5.0(clang-500.0.68)]ondarwinType"help","copyright","credits"or"license"formoreinformation.>>>如果系统中未安装Python,会输出如下信息:-bash:python:commandnotfound1.2.3在MacOSX系统中搭建Python开发环境1.安装Python由于大部分MacOSX系统自带版本是Python2.x,而本书选择的是Python3.x版本。因此,下面介绍Python3.6.1在MacOSX系统中的安装方法。1)安装Python打开下载的Python安装软件包后,单击“继续”按钮,直到安装完成。步骤2MacOSX系统的Python安装包访问/downloads/mac-osx/,下载MacOSX环境下的Python安装程序,如右图所示。步骤11.2.3在MacOSX系统中搭建Python开发环境2)检查Python是否安装成功MacOSX系统的Python安装成功打开终端窗口,执行python3命令,如果出现类似下图所示结果,就表示Python安装成功。1.2.3在MacOSX系统中搭建Python开发环境2.在MacOSX系统中安装与配置文本编辑器SublimeText访问/3,下载OSX安装程序。下载完成之后打开该程序,默认单击下一步直到完成。1)安装SublimeTextSublimeText在MacOSX系统中配置Python3的方法与Linux相同。但是,在MacOSX系统中,SublimeText的菜单在单击SublimeText窗口后将出现在桌面的顶部,如下图所示。2)在SublimeText中配置Python3MacOSX系统中SublimeText菜单的位置Python概述1.1搭建Python开发环境1.2开发第一个Python程序1.3根据前面所学的知识,读者已经搭建好自己的编程环境,并且简单了解了SublimeText的界面。下面编写一个简单的Python程序,学习实际操作中Python有哪些编码规范和运行方式。使用SublimeText编辑器1.3.1在MacOSX系统中搭建Python开发环境使用SublimeText编辑器编写Python程序可分为以下几个步骤:1打开SublimeText编辑器,在SublimeText界面中选择

“File”>“NewFile”菜单项,或者按【Ctrl+N】快捷键,创建一

个新的文件,如右图所示。创建一个新文件1.3.1在MacOSX系统中搭建Python开发环境2“另存为”对话框选择“File”>“Save”菜单项,或者按【Ctrl+S】组合键,弹出“另存为”对话框,如右图所示。选择要保存文件的路径,在文件名中输入源程序的名字,如“1-1.py”,然后单击“保存”按钮。

提示Python源程序文件的后缀名为“.py”。1.3.1在MacOSX系统中搭建Python开发环境3在编辑区输入以下代码:print("helloworld!")#输出helloworld!然后选择“Tools”>“Build”菜单项或按【Ctrl+B】组合键运行程序,如下方左图所示。程序运行后,SublimeText窗口底部会出现一个小窗口,如果其中显示“helloworld!”,则表示程序运行成功,如下方右图所示。运行程序运行结果

1.3.1在MacOSX系统中搭建Python开发环境

小技巧可根据需要设置SublimeText的背景颜色,例如,想设置背景色为白色,方法是:选择“Preferences”->“ColorScheme”->“Breakers”菜单项即可。1.3.2命令行模式下运行Python程序日常开发中编写的大部分程序都直接在编辑器中运行,但是,在某些情况下需要直接运行既有程序,这时就需要在命令行模式下运行程序了。本节介绍在命令行模式下运行Python程序的两种方式。命令行模式下运行Python程序1.3.2命令行模式下运行Python程序1.命令行模式下运行既有程序打开命令行窗口,把当前目录切换到“1-1.py”文件所在的目录下,输入命令“python1-1.py”即可运行程序,运行结果如右图所示。命令行模式下运行既有程序1.3.2命令行模式下运行Python程序2.交互模式下直接运行代码在命令行模式下输入“python”,可以进入到Python交互模式,如右侧上图所示。Python交互模式界面(一)

知识库也可以直接通过“开始”菜单选择“Python3.6”菜单项,直接进入Python交互模式,如右侧下图所示。Python交互模式界面(二)在Python交互模式的提示符“>>>”下,直接输入“print(”helloworld!“)”,按回车,就可以立刻得到运行结果。在Python交互模式下输入“exit()”并回车,即可退出Python交互模式,并回到命令行模式,如右图所示。1.3.2命令行模式下运行Python程序运行代码并退出Python交互模式1.3.3Python编码规范任何一种语言都有一些约定俗成的编码规范,Python也不例外。本节重点介绍Python的编码规范,最好在开始编写第一个Python程序时就遵循这些规范和建议,养成一个好的习惯。Python编码规范1.3.3Python编码规范1.注释一个好的、有使用价值的源程序都应加上必要的注释,以提高程序的可读性。Python允许有多种注释方式,常用的包括单行注释和多行注释两种。1以“#”开始的单行注释。这种注释可以单独占一行,也可以出现在一行中其他内容的右侧。此种注释以“#”开始,以换行符结束。例如:print("helloworld!") #输出helloworld!1.3.3Python编码规范2以三对引号(单引号或双引号)开始,同样以三对引号结束的多行注释。例如:'''Python多行注释符……三对单引号示例'''print("三对单引号已成功注释")"""Python多行注释符……三对双引号示例"""print("三对双引号已成功注释")1.3.3Python编码规范2.缩进Python最独特的一点就是依靠代码块的缩进来体现代码之间的逻辑关系。例如,对于选择结构来说,行尾的冒号以及下一行的缩进表示一个代码块的开始,而缩进结束则表示一个代码块的结束。在Python中最好使用4个空格进行悬挂式缩进,并且同一级别的代码块的缩进量必须相同。例如:a=1 #a赋值为1b=2 #b赋值为2ifa>b: #如果a>bprint(a) #输出a的值else: #否则print(b) #输出b的值

提示在Python中使用缩进时不提倡使用【Tab】键,更不要【Tab】键和空格混用。1.3.3Python编码规范3.语句换行Python建议每行代码的长度不要超过80个字符。对于过长的代码,建议进行换行。换行有两种方式:1可以在行尾使用续行符“\”来表示下面紧接的一行仍属于当前语句。例如:test='https://www.python.'\'org/downloads/'\'windows/'等价于test='/downloads/windows/'1.3.3Python编码规范3.语句换行2根据Python会将圆括号中的行隐式连接起来这个特点,可以使用圆括号包含多行内容。例如,上述语句又可用以下形式表示:test=('https://www.python.''org/downloads/''windows/')

提示需要注意的是,在[]、{}或()中的语句,不需要再使用圆括号进行换行。例如:stu=['Mary','Jone','Jack','Tom','Lily','Sary']1.3.3Python编码规范4.使用必要的空格与空行使用必要的空格与空行增强代码的可读性。一般来说,运算符两侧、函数参数之间、逗号后面建议使用空格进行分隔。而不同功能的代码块之间、不同的函数定义以及不同的类定义之间则建议增加一个空行以提高程序的可读性。感谢您的观看Python编程案例教程本章导读万丈高楼平地起,打好地基很关键。Python基础知识就好比Python这栋大厦的“地基”,想要盖好Python这栋大厦,掌握它的基础很关键。本章首先介绍Python的变量命名规则、变量的数据类型、变量的赋值,然后介绍Python中的各种运算符和表达式的使用、最后介绍在Python中实现输入和输出的方法。第2章Python编程基础知识学习目标掌握Python变量的命名规则熟悉Python变量的数据类型熟悉Python中各运算符的使用方法掌握在Python中实现输入和输出的方法变量2.1运算符2.2输入和输出2.3典型案例—求三角形的面积2.42.1变量2.1.2变量的数据类型2.1.1变量的命名2.1.3变量的赋值2.1.1变量的命名变量名只能包括字母、数字和下划线,且第一个字符必须是字母或下划线,不能是数字。str,_str1,str_22str,2_str,&123,%lsso,M.Jack,-L22.1变量例如:第一个单词首字母小写,之后的单词首字母大写,如myName,myFriendName等。1)小驼峰式命名每个单词首字母都大写,如MyName,MyFriendName等。2)大驼峰式命名用下划线“_”把每个单词连起来,如my_name,my_friend_name等。3)下划线连接命名2.1.1变量的命名2.1变量

提示(1)Python的变量名区分英文字母大小写,如score和Score是两个不同的变量。(2)变量名不能是Python的关键字。>>>importkeyword #导入keyword模块>>>keyword.kwlist #查看所有关键字Python本身定义的一些具有特定功能的标示符称为关键字。可在Python交互模式下执行如下命令,查看关键字。1.数字十进制整数,如18。八进制整数。以数字0开头,只能用0~7这8个数字组合表达,如0154。十六进制整数。以0x或0X开头,只能用0~9这十个数字及字母A~F组合表达,如0x15F。1)int(整型)

知识库Python2中有两个整数类型int和long(长整型)。在Python3里,只有一种整数类型int,且不限制大小。1.数字直接十进制形式,如0.0013、-1482.5。指数形式,通常用来表示一些比较大或者比较小的数值,格式为:2)float(浮点型)实数部分+字母E或e+正负号+整数部分0.0013=-1482.5=例如:复数由实数部分和虚数部分组成,一般形式为x+yj。3)complex(复数)例如:2.14j2+12.1j2.布尔类型布尔(bool)类型是一种比较特殊的类型,它只有“True(真)”和“False(假)”两种值。3.字符串字符串是以单引号或双引号括起来的任意文本,如'abc',"xyz"等。如果单引号本身也是字符串中的一个字符,那就可以用双引号括起来;如果双引号本身也是字符串中的一个字符,那就可以用单引号括起来。如果字符串内部既包含单引号又包含双引号,则可以用转义字符“\”来标识"I'mOK!"'Itoldmyfriend,"Pythonismyfavoritelanguage!"‘'I\'m\"OK\"!'3.字符串转义字符是以“\”开头,后跟一个字符,通常用来表示一些控制代码和功能定义。转义字符说

明转义字符说

明\n回车换行\'单引号符'\b退格\"双引号符"\r回车\a鸣铃\t水平制表\f走纸换页\v垂直制表\\反斜线符\

知识库Python还允许在单引号前加r来表示单引号内部的字符串默认不转义。例:字符串输出。print('I\'mlearning\nPython.') #输出print('\\\n\\')print(r'\\\n\\')程序运行效果1.变量赋值Python中的变量赋值不需要类型声明。向变量赋值时,Python会自动声明变量类型。例:变量赋值。a=0.01 #创建变量a,赋值为0.01b=666 #创建变量b,赋值为666c='123' #创建变量c,赋值为'123'print("变量a的值为",a,",类型是",type(a)) #输出变量a的值及其类型print("变量b的值为",b,",类型是",type(b)) #输出变量b的值及其类型print("变量c的值为",c,",类型是",type(c)) #输出变量c的值及其类型程序运行效果2.多个变量赋值Python允许同时为多个变量赋值。也可以同时为多个变量赋不同的值。例如:a=b=c=1a,b,c=1,2,"hello"2.2运算符2.2.2赋值运算符2.2.1算术运算符2.2.3关系运算符2.2.4逻辑运算符2.2.6身份运算符2.2.5成员运算符2.2.7位运算符2.2.8运算符优先级Python提供了7个基本的算术运算符,其运算方式与数学中基本类似。运算符名

称说

明示

例+加法运算

将运算符两边的操作数相加a+b=7-减法运算

将运算符左边的操作数减去右边的操作数a-b=-1*乘法运算

将运算符两边的操作数相乘a*b=12/除法运算

将运算符左边的操作数除以右边的操作数a/b=0.75%模运算

返回除法运算的余数a%b=3**幂(乘方运算)

表达式x**y,则返回x的y次幂a**b=81//整除

返回商的整数部分。如果其中一个操作数为负数,则结果为负数a//b=0b//a=1-a//b=-1赋值运算符用来给变量赋值,Python提供的赋值运算符可分为简单赋值与复合赋值两大类。a+=b #相当于a=a+ba-=b #相当于a=a-ba*=b #相当于a=a*ba/=b #相当于a=a/ba%=b #相当于a=a%ba**=b #相当于a=a**ba//=b #相当于a=a//b复合赋值

提示如果b是包含若干项的表达式,则相当于它有括号,例如:a*=b-3 #相当于a=a*(b-3)

提示如果b是包含若干项的表达式,则相当于它有括号,例如:a*=b-3 #相当于a=a*(b-3)关系运算符又称比较运算符,用于比较运算符两侧的值,比较的结果是一个布尔值,即True或False。

提示(1)关系运算符的优先级低于算术运算符,但高于赋值运算符。(2)关系运算符的结合性为从左到右。例如:b<a+2等效于b<(a+2)a<=b!=b>=2等效于(a<=b)!=(b>=2)a=b<c 等效于a=(b<c)序

号符

号功

能优先级1>

大于优先级相同(高)2>=大于等于3<

小于4<=小于等于5==等于优先级相同(低)6!=不等于Python的逻辑运算符包括and(与)、or(或)、not(非)3种,与C/C++、Java等语言不同的是,Python中逻辑运算的返回值不一定是布尔值。运算符含

义举

例说

明and与xandy如果x为False,无需计算y的值,返回值为x;否则返回y的值or或xory如果x为True,无需计算y的值,返回值为x;否则返回y的值not非notx如果x为True,返回值为False;如果x为False,返回值为True

提示在Python中,当参与逻辑运算的数值为0时,则把它看作逻辑“假”,而将所有非0的数值都看作逻辑“真”。例:逻辑运算符。print(3-3and3<6) #输出逻辑表达式的值print(3<6and3+5)print(1+2or3<6)print(3<6or3+5)print(not3>6)程序运行效果2.2.5成员运算符2.2运算符成员运算符用于判断一个元素是否在某个序列中,如字符串、列表、元组等。运算符举

例说

明inxiny在y中找到x的值返回True,否则返回Falsenotinxnotiny在y中未找到x的值返回True,否则返回False例:成员运算符示例。a=1b=2list=[1,2,3,4,5]; #创建列表list,赋值为1,2,3,4,5。print(ainlist) #输出成员表达式的值print(bnotinlist)程序运行效果2.2.6身份运算符2.2运算符身份运算符用来判断两个变量的引用对象是否指向同一个内存对象。运算符举

例说

明isxisy如果x和y引用的是同一个对象则返回True,否则返回Falseisnotxisnoty如果x和y引用的不是同一个对象则返回True,否则返回False例:身份运算符示例。a=10 #创建变量a,赋值为10b=20 #创建变量b,赋值为20print(aisb) #输出表达式的值print(aisnotb)b=10 #修改变量b的值print(aisb)程序运行效果2.2.7位运算符2.2运算符所谓位运算是指进行二进制位的运算。运算符名

称说

明&按位与

只有对应的两个二进制位均为1时,结果才为1,否则为0|按位或

只要对应的两个二进制位有一个为1时,结果就为1^按位异或

对应的两个二进制位不同时,结果为1,否则为0~取反

对每个二进制位取反<<

左移

左操作数的二进制位全部左移,由右操作数决定移动的位数,移出位删掉,移进的位补零>>

右移

左操作数的二进制位全部右移,由右操作数决定移动的位数,移出位删掉,移进的位补零2.2.7位运算符2.2运算符假设变量a=10,b=23,即二进制格式a=00001010,b=00010111。

知识库我们都知道,数据是以二进制形式存储在计算机中的。整数在存储单元中的存储方式是以补码形式存放的。一个正数的补码是此数的二进制形式,一个负数的补码是由该数绝对数的二进制数按位取反后加1得到。2.2.8运算符优先级2.2运算符优先级顺序运算符说

明1**指数(次幂)运算2~+-取反、正号运算和负号运算3*/%//乘,除,取模和取整除4+-加法、减法5>><<右移,左移位运算符6&按位与7^|按位异或和按位或8<=<>>=比较运算符9==!=等于和不等于运算符10=%=/=//=-=+=*=**=赋值运算符11isisnot身份运算符12innotin成员运算符13notorand逻辑运算符2.3输入和输出2.3.2输出2.3.1输入在Python中使用print()函数进行输出。输出字符串时可用单引号或双引号括起来;输出变量时,可不加引号;变量与字符串同时输出或多个变量同时输出时,需用“,”隔开各项。例:使用print()函数输出数据。print("这是一个输出示例") #print()函数使用双引号输出示例url='' #创建变量url,赋值为''print('我们的网址是',url) #print()函数使用单引号输出变量url程序运行效果

提示print默认输出是换行的,如果要实现不换行需要在变量末尾加上end=""Python提供了input()函数用于获取用户键盘输入的字符。input()函数让程序暂停运行,等待用户输入数据,当获取用户输入后,Python将其以字符串的形式存储在一个变量中,方便后面使用。例:使用input()函数实现输入。password=input("请输入密码:") #输入数据赋给变量passwordprint('您刚刚输入的密码是:',password)#输出数据程序运行效果例:编写程序,要求输入两个整数,求两数之和后输出。a=input("请输入第一个整数:") #输入变量a的值b=input("请输入第二个整数:") #输入变量b的值a=int(a) #将变量a转换为整型数b=int(b) #将变量b转换为整型数c=a+b #两数相加赋给cprint("两数之和为:",c) #输出c的值程序运行效果

提示(1)可使用int()函数将输入的字符串转化为整型数据。(2)可使用float()函数将字符串转化为浮点型数据。去掉这两行代码2.4典型案例—求三角形的面积例:编写程序,要求输入三角形的三条边(假设给定的三条边符合构成三角形的条件:任意两边之和大于第三边),计算三角形的面积并输出。。importmath #导入math模块a=int(input("请输入三角形的第一条边:")) #输入第一条边并将其转换为整型b=int(input("请输入三角形的第二条边:")) #输入第二条边并将其转换为整型c=int(input("请输入三角形的第三条边:")) #输入第三条边并将其转换为整型s=1/2*(a+b+c) #计算sarea=math.sqrt(s*(s-a)*(s-b)*(s-c)) #调用sqrt函数计算面积print("此三角形面积为:",area) #输出三角形面积程序运行效果感谢您的观看Python编程案例教程本章导读在解决实际问题时,我们经常会遇到需要根据不同条件选择不同操作的情况,或者经常会遇到需要重复处理相同或相似操作的情况。Python提供了判断和循环语句用于解决这些问题。本章首先介绍判断语句,包括简单的if语句、if-else语句、if-elif-else语句和嵌套的if语句,然后介绍while循环和for循环两种循环语句,以及跳出循环语句的方法,最后通过两个典型案例的分析和实现,让读者进一步掌握判断语句和循环语句的使用方法。第3章判断和循环语句学习目标掌握简单的if语句、if-else语句、if-elif-else语句和嵌套的if语句的使用方法掌握while循环和for循环语句的使用方法掌握break和continue语句的使用方法掌握选择结构程序设计和循环结构程序设计的编程思路判断语句3.1循环语句3.2典型案例3.33.1判断语句3.1.2if-else语句3.1.1简单的if语句3.1.3if-elif-else语句3.1.4嵌套的if语句if语句允许程序通过判断条件是否成立而选择是否执行指定的语句。if判断条件:

语句块例如:age=20 #创建变量age代表年龄,赋值为20ifage>=18: #判断变量age的值是否大于等于18print("已成年") #输出“已成年”if判断条件:

语句块1else:

语句块2if语句只允许在条件为真时指定要执行的语句,而if-else语句还可在条件为假时指定要执行的语句。例:编写程序,要求输入年龄,判断该学生是否成年(大于等于18岁),如未成年,计算还需要几年能够成年。age=int(input("请输入学生的年龄:")) #输入变量age的值并转换为整型ifage>=18: #判断age是否大于等于18print("已成年") #如果是,输出“已成年”else: #如果不是

print("未成年") #输出“未成年”

print("还差",18-age,"年成年") #计算还差几年成年并输出程序运行效果例:编写程序,要求输入三角形的三条边,计算三角形的面积并输出。importmath #导入math模块a=int(input("请输入三角形的第一条边:")) #输入第一条边并将其转换为整型b=int(input("请输入三角形的第二条边:")) #输入第二条边并将其转换为整型c=int(input("请输入三角形的第三条边:")) #输入第三条边并将其转换为整型ifa>0andb>0andc>0anda+b>canda+c>bandb+c>a:#如果满足构成三角形条件

s=1/2*(a+b+c) #计算sarea=math.sqrt(s*(s-a)*(s-b)*(s-c)) #调用sqrt函数计算面积

print("此三角形面积为:",area) #输出三角形面积else: #如不满足条件

print("输入的三条边不能构成三角形"); #输出提示信息程序运行效果if判断条件1:

语句块1elif判断条件2:

语句块2…elif判断条件n:

语句块nelse:

语句块n+1程序运行效果编程时常常需要判定一系列的条件,一旦其中某一个条件为真就立刻停止。例:学生成绩可分为百分制和五级制,将输入的百分制成绩score,转换成相应的五级制成绩后输出。百分制五级制百分制五级制90≤score≤100优60≤score<70及格80≤score<90良0≤score<60不及格70≤score<80中score>100或score<0无意义score=int(input("请输入百分制成绩:"))#输入分数score的值并将其转化为整数ifscore>100orscore<0: #当分值不合理时显示出错信息

print("输入数据无意义")elifscore>=90: #当成绩大于等于90小于等于100时,输出“优”

print("优")elifscore>=80: #当成绩大于等于80小于90时,输出“良”

print("良")elifscore>=70: #当成绩大于等于70小于80时,输出“中”

print("中")elifscore>=60: #当成绩大于等于60小于70时,输出“及格”

print("及格")else: #以上条件都不满足

print("不及格") #输出不及格程序运行效果在if语句中又包含一个或多个if语句时,称为if语句的嵌套。if判断条件1: if判断条件2:

语句块1 else:

语句块2else: if判断条件3:

语句块3 else:

语句块4内嵌if内嵌if

提示内嵌if可以是简单的if语句,也可以是if-else语句,还可以是if-elif-else语句。一定要注意if嵌套语句的逐层缩进,保持同级缩进相同。例:编写程序,实现输入三个整数,输出最大值。a=int(input("请输入a的值:")) #输入a的值并转换为整数b=int(input("请输入b的值:")) #输入b的值并转换为整数c=int(input("请输入c的值:")) #输入c的值并转换为整数ifa>b: #a>bifa>c: #a>b并且a>c,最大值为amax=a else: #a>b并且c>a,最大值为cmax=celse: #a<bifb>c: #b>a并且b>c,最大值为bmax=belse: #b>a并且c>b,最大值为cmax=cprint("max=",max) #输出最大值max程序运行效果3.2循环语句3.2.2for循环语句3.2.1while循环语句3.2.3循环嵌套3.2.4break和continue语句while循环语句的基本格式如下:while判断条件:

语句块 #循环体

提示while循环语句是“先判断,后执行”。如果刚进入循环时条件就不满足,则循环体一次也不执行。还需要注意的是,一定要有语句修改判断条件,使其有为假的时候,否则将出现“死循环”。i=1 #创建变量i,赋值为1S=0 #创建变量S,赋值为0whilei<=100: #循环,当i>100时结束

S+=i #求和,将结果放入S中

i+=1 #变量i加1print("S=1+2+3+…+100=",S) #输出S的值例:编写程序,求S=1+2+3+…+100的值。程序运行效果

注意(1)变量初始化描述要完整、准确。(2)在循环体中应有使循环趋向于结束的语句。1.for循环语句的语法结构基本格式:for变量in序列:

语句块例如:forxin"python":print(x)

提示Python中的for循环常用于遍历列表、元组、字符串以及字典等序列中的元素。2.for循环语句与range()函数range([start,]stop[,step])for循环语句经常与range()函数一起使用,range()函数是Python的内置函数,可创建一个整数列表。range()函数的语法是:计数从start开始,默认是从0开始。计数到stop结束,但不包括stop。步长,默认为1。例如:range(5)等价于range(0,5)range(0,5)是[0,1,2,3,4]range(0,5)等价于range(0,5,1)例:用for语句求S=1+2+3+…+100的值。S=0 #创建变量S,赋值为0foriinrange(1,101): #循环变量i从1循环到100 S+=i #求和,将结果放入S中print("S=1+2+3+…+100=",S) #输出S的值程序运行效果一个循环语句的循环体内包含另一个完整的循环结构,称为循环的嵌套。嵌在循环体内的循环称为内循环。嵌有内循环的循环称为外循环。内嵌的循环中还可以嵌套循环,这就是多重循环。两种循环语句while语句和for语句可以互相嵌套,自由组合。外层循环体中可以包含一个或多个内层循环结构。

注意各循环必须完整包含,相互之间不允许有交叉现象。例:编写一个程序,输出以下乘法表。forxinrange(1,10): #循环变量x从1循环到9 foryinrange(1,x+1): #循环变量y从1循环到x+1 print(y,"*",x,"=",x*y,"",end="") #输出乘法表达式

print("") #输出空字符串,作用是为了换行程序运行效果1.break语句我们可以使用break语句跳出循环体,而去执行循环下面的语句。在循环结构中,break语句通常与if语句一起使用,以便在满足条件时跳出循环。例:计算满足条件的最大整数n,使得1+2+3+…+n<=10000。n=1 #创建变量n,赋值为1S=0 #创建变量S,赋值为0whileTrue: #循环

S+=n #求和,将结果放入S中

ifS>10000: #当S>10000时

break #跳出循环

n+=1 #变量n加1print("最大整数n为",n-1,",使得1+2+3+…+n<=10000。") #输出n-1的值程序运行效果2.continue语句有时并不希望终止整个循环的操作,而只希望提前结束本次循环,接着执行下次循环,这时可以用continue语句。与break语句不同,continue语句的作用是结束本次循环,即跳过循环体中continue语句后面的语句,开始下一次循环。例:输出1~20之间所有的奇数。forninrange(1,21): #循环,n的取值为1到20 ifn%2==0: #判断n是否为偶数

continue #当n为偶数时跳出本次循环

else: #当n为奇数时输出n的值

print(n)程序运行效果3.3典型案例例:编写程序,模仿猜拳游戏,要求输入两个用户的不同手型,判断输赢后输出。player1=int(input("请用户1输入:0(剪刀)1(石头)2(布):")#获取用户1输入的信息并赋值player2=int(input("请用户2输入:0(剪刀)1(石头)2(布):"))#获取用户2输入的信息并赋值ifplayer1<0orplayer1>2orplayer2<0orplayer2>2: #输入了游戏规则以外的数字

print("请遵守游戏规则") #输出“请遵守游戏规则”else: #输入正确

if((player1==0)and(player2==2))or((player1==1)and(player2==0))or((player1==2)and(player2==1)):

#用户1所有能获胜的判断条件

print("用户1获得胜利") #输出“用户1获得胜利”

elifplayer1==player2: #用户1输入与用户2相同时

print("平局,再来一局") #输出“平局,再来一局”

else: #用户2获胜

print("用户2获得胜利") #输出“用户2获得胜利”程序运行效果例:中国古代数学家张丘建在他的《算经》中提出了一个著名的“百钱买百鸡问题”:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,问翁、母、雏各几何?编程实现将所有可能的方案输出在屏幕上。forcockinrange(0,20+1): #鸡翁范围在0到20之间

forheninrange(0,33+1): #鸡母范围在0到33之间

forbiddyinrange(3,99+1): #鸡雏范围在3到99之间

if(5*cock+3*hen+biddy/3)==100: #判断钱数是否等于100if(cock+hen+biddy)==100: #判断购买的鸡数是否等于100ifbiddy%3==0: #判断鸡雏数是否能被3整除

print("鸡翁:",cock,"鸡母:",hen,"鸡雏:",biddy) #输出程序运行效果感谢您的观看Pytho

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论