ImageVerifierCode 换一换
格式:PPT , 页数:825 ,大小:24MB ,
资源ID:18849464      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-18849464.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(教学课件:《Python语言程序设计基础(第2版)》嵩天.ppt)为本站会员(聆听****声音)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

教学课件:《Python语言程序设计基础(第2版)》嵩天.ppt

1、Python语言程序设计,第1章 程序设计基本方法,计算机的概念,计算机是根据指令操作数据的设备具备功能性和可编程性两个基本特性 功能性指对数据的操作,表现为数据计算、输入输出处理和结果存储等。可编程性指它可以根据一系列指令自动地、可预测地、准确地完成操作者的意图,计算机的概念,计算机硬件所依赖的集成电路规模按照摩尔定律以指数方式增长计算机运行速度也接近几何级数快速增加计算机所能高效支撑的功能不断丰富发展 程序设计语言经历了从机器语言到高级语言的发展过程,朝着更接近自然语言的方向发展。,计算机的概念,摩尔定律是计算机发展历史上最重要的预测法则摩尔定律指出,单位面积集成电路上可容纳晶体管的数量约

2、每两年翻一倍。由于计算机中几乎所有重要部件都由集成电路实现,摩尔定律(Moores Law),第一阶段:1946年到1981年,“计算机系统结构阶段”第二阶段:1982年到2007年,“计算机网络和视窗阶段”第三阶段:2008年至今,“复杂信息系统阶段”。第四阶段:约20年后未来的某个时期开始,“人工智能阶段”,计算机技术发展水平的时代性,程序设计语言,程序设计语言包括编译执行和解释执行两种方式程序设计语言是计算机能够理解和识别用户操作意图的一种交互体系,它按照特定规则组织计算机指令,使计算机能够自动进行各种运算处理。按照程序设计语言规则组织起来的一组计算机指令称为计算机程序。,程序设计语言概

3、述,机器语言机器语言是一种二进制语言,它直接使用二进制代码表达指令,是计算机硬件可以直接识别和执行的程序设计语言。例如:执行数字2和3的加法,16位计算机上的机器指令为:11010010 00111011,不同计算机结构的机器指令不同,程序设计语言概述,汇编语言使用助记符与机器语言中的指令进行一一对应,在计算机发展早期帮助程序员提高编程效率 例如:执行数字2和3的加法,汇编语言指令为:add 2,3,result,运算结果写入result。机器语言和汇编语言都直接操作计算机硬件并基于此设计,所以它们统称为低级语言。,程序设计语言概述,高级语言高级语言区别于低级语言在于,高级语言是接近自然语言的

4、一种计算机程序设计语言,更容易地描述计算问题并利用计算机解决计算问题。例如:执行数字2和3加法的高级语言代码为:result=2+3,程序设计语言概述,高级语言按照计算机执行方式的不同可分成两类静态语言脚本语言这里所说的执行方式指计算机执行一个程序的过程,静态语言采用编译执行,脚本语言采用解释执行。,编译和解释,编译是将源代码转换成目标代码的过程,通常,源代码是高级语言代码,目标代码是机器语言代码,执行编译的计算机程序称为编译器,编译和解释,解释是将源代码逐条转换成目标代码同时逐条运行目标代码的过程。执行解释的计算机程序称为解释器。,编译和解释,编译是一次性地翻译,一旦程序被编译,不再需要编译

5、程序或者源代码。对于相同源代码,编译所产生的目标代码执行速度更快。目标代码不需要编译器就可以运行,在同类型操作系统上使用灵活。,编译和解释,解释则在每次程序运行时都需要解释器和源代码。解释执行需要保留源代码,程序纠错和维护十分方便。只要存在解释器,源代码可以在任何操作系统上运行,可移植性好,编译和解释,为什么要学习计算机编程?因为“编程是件很有趣的事儿”!,计算机编程,计算机编程,计算思维是区别于以数学为代表的逻辑思维和以物理为代表的实证思维的第三种思维模式。编程是一个求解问题的过程首先需要分析问题,抽象内容之间的交互关系设计利用计算机求解问题的确定性方法,进而通过编写和调试代码解决问题这是从

6、抽象问题到解决问题的完整过程。,Python语言概述,Python语言的诞生,Guido van RossumPython语言创立者2002年,Python 2.x2008年,Python 3.x,使用Python语言编写的Hello程序只有一行代码 print(“Hello World”)第一行的“”是Python语言运行环境的提示符第二行是Python语句的执行结果,编写Hello程序,#include int main(void)printf(Hello Worldn);return 0;一般来说,同样功能的程序,Python语言实现的代码行数仅相当于C语言的1/5至1/10,简洁程度取

7、决于程序的复杂度和规模。,C语言的Hello程序,脚本语言+语句执行,例1:print(“Hello World!大家好!)例2:sum=99999*99999 print(sum),Python语言的优势,例3:months=JanFebMarAprMayJunJulAugSepOctNovDec n=4 monthAbbrev=months(n-1)*3:(n-1)*3+3 print(monthAbbrev),Python语言的优势,简洁+强制可读性,例4:def mean(numbers):s=0.0 for num in numbers:s=s+num return s/len(nu

8、mbers)nums=0,1,2,3,4,5,6,7,8,9 print(mean(nums),Python语言的优势,跨平台+开源,http:/pypi.python.org/目前有93561个开源库,覆盖各类计算问题例5:from random import random rnd=random()*10 print(rnd),Python语言的优势,Python语言的优势:面向过程+面向对象,灵活的介绍程序设计理念,Python语言的优势:图形界面,Windows窗口玫瑰花,Python语言的优势,Python语言特点,Python语言是通用语言 Python语言是脚本语言 Python语

9、言是开源语言 Python语言是跨平台语言 Python语言是多模型语言,Python开发环境配置,安装,到Python主页下载并安装Python基本开发和运行环境,网址:www.python.org/downloads/根据操作系统不同选择不同版本 下载相应的Python 3.0系列版本程序,安装,安装,启动,方法1:启动Windows命令行工具,输入python,启动,方法2:调用IDLE来启动Python图形化运行环境,启动,方法3:按照语法格式编写代码,编写可以用任何文本编辑器,保存为文件。,启动,方法4:打开IDLE,点击Ctrl+N打开一个新窗口,输入语句并保存,使用快键建F5即可

10、运行该程序,启动,方法5:将Python集成到Eclipse、PyCharm等面向较大规模项目开发的集成开发环境中,Hello程序,采用上述某个方法,执行:,程序的基本编写方法,输入数据处理数据输出数据,IPO程序编写方法,输入数据输入(Input)是一个程序的开始。程序要处理的数据有多种来源,形成了多种输入方式,包括:文件输入、网络输入、控制台输入、交互界面输出、随机数据输入、内部参数输入等。,IPO程序编写方法,处理数据处理(Process)是程序对输入数据进行计算产生输出结果的过程。计算问题的处理方法统称为“算法”,它是程序最重要的组成部分。可以说,算法是一个程序的灵魂。,IPO程序编写

11、方法,输出数据输出(Output)是程序展示运算成果的方式。程序的输出方式包括:控制台输出、图形输出、文件输出、网络输出、操作系统内部变量输出等。,IPO程序编写方法,微实例1.1圆面积的计算输入:圆半径raduis处理:计算圆面积area=*radius*radius(此处,取3.1415)输出:圆面积area,IPO程序编写方法,分析问题分析问题的计算部分划分边界划分问题的功能边界设计算法设计问题的求解算法编写程序,编写问题的计算程序调试测试,调试和测试程序升级维护,适应问题的升级维护,使用计算机解决问题,Python语言版本更迭,Python语言的版本更迭,更高级别的3.0系列不兼容早期

12、2.0系列 2008年至今,版本更迭带来大量库函数的升级替换,Python语言的版本更迭痛苦且漫长 到今天,Python 3.x系列已经成为主流,本章小结,本章具体讲解了计算机的基本定义、计算机的功能性和可编程性、程序设计语言分类、编译和解释、Python语言的历史和发展、配置Python开发环境等内容,最后给出了Python版本的主要区别供参考。,Python实例展示,Python语言程序设计,第2章 Python程序实例解析,温度转换程序实例,温度体系,温度刻画存在不同体系,摄氏度以1标准大气压下水的结冰点为0度,沸点为100度,将温度进行等分刻画。华氏度以1标准大气压下水的结冰点为32度

13、,沸点为212度,将温度进行等分刻画。,温度转换实例,问题:如何利用Python程序进行摄氏度和华氏度之间的转换 步骤1:分析问题的计算部分:采用公式转换方式解决计算问题,温度转换实例,步骤2:确定功能 输入:华氏或者摄氏温度值、温度标识 处理:温度转化算法 输出:华氏或者摄氏温度值、温度标识 F表示华氏度,82F表示华氏82度 C表示摄氏度,28C表示摄氏28度,温度转换实例,步骤3:设计算法根据华氏和摄氏温度定义,转换公式如下:C=(F 32)/1.8 F=C*1.8+32 其中,C表示摄氏温度,F表示华氏温度,温度转换实例,步骤4:编写程序,温度转换实例,步骤5:调试、运行程序在系统命令

14、行上运行如下命令执行程序:C:python TempConvert.py或者:使用IDLE打开上述文件,按F5运行(推荐)输入数值,观察输出,Python语法元素分析,程序的格式框架,Python语言采用严格的“缩进”来表明程序的格式框架。缩进指每一行代码开始前的空白区域,用来表示代码之间的包含和层次关系。1个缩进=4个空格用以在Python中标明代码的层次关系缩进是Python语言中表明程序框架的唯一手段,程序的格式框架,单层缩进 多层缩进,注释,注释:程序员在代码中加入的说明信息,不被计算机执行注释的两种方法:单行注释以#开头#Here are the comments多行注释以 开头和结

15、尾 This is a multiline comment used in Python,命名与保留字,常量:程序中值不发生改变的元素变量:程序中值发生改变或者可以发生改变的元素Python语言允许采用大写字母、小写字母、数字、下划线(_)和汉字等字符及其组合给变量命名,但名字的首字符不能是数字,中间不能出现空格,长度没有限制注意:标识符对大小写敏感,python和Python是两个不同的名字,命名与保留字,保留字,也称为关键字,指被编程语言内部定义并保留使用的标识符。程序员编写程序不能定义与保留字相同的标识符。每种程序设计语言都有一套保留字,保留字一般用来构成程序整体框架、表达关键值和具有结

16、构性的复杂语义等。掌握一门编程语言首先要熟记其所对应的保留字。,命名与保留字,Python 3.x保留字列表(33个),字符串,Python语言中,字符串是用两个双引号“”或者单引号 括起来的一个或多个字符。Python字符串的两种序号体系,赋值语句,Python语言中,=表示“赋值”,即将等号右侧的值计算后将结果值赋给左侧变量,包含等号(=)的语句称为“赋值语句”同步赋值语句:同时给多个变量赋值,=,赋值语句,例:将变量x和y交换采用单个赋值,需要3行语句:即通过一个临时变量t缓存x的原始值,然后将y值赋给x,再将x的原始值通过t赋值给y。采用同步赋值语句,仅需要一行代码:,input()函

17、数,获得用户输入之前,input()函数可以包含一些提示性文字=input(),分支语句,分支语句是控制程序运行的一类重要语句,它的作用是根据判断条件选择程序执行路径,使用方式如下:,if:elif:.else:,eval()函数,eval()函数是Python语言中一个十分重要的函数,它能够以Python表达式的方式解析并执行字符串,将返回结果输出,赋值语句,例:将变量x和y交换采用单个赋值,需要3行语句:即通过一个临时变量t缓存x的原始值,然后将y值赋给x,再将x的原始值通过t赋值给y。采用同步赋值语句,仅需要一行代码:,输出函数,print()函数用来输出字符信息,或以字符形式输出变量。

18、print()函数可以输出各种类型变量的值。print()函数通过%来选择要输出的变量。,实例,用户输入两个数字,计算它们的平均数,并输出平均数,循环语句,循环语句:控制程序运行,根据判断条件或计数条件确定一段程序的运行次数遍历循环,基本过程如下for i in range():例如,使某一段程序连续运行10次for i in range(10):其中,变量i用于计数,turtle库和蟒蛇绘制程序,Python小蛇,Python英文是蟒蛇的意思通过下面的例子,来实践用Python语言输出图形效果。,Python蟒蛇绘制实例,Python语法元素,import turtleimport是一个关键

19、字,用来引入一些外部库,这里的含义是引入一个名字叫turtle的函数库,Turtle库,Turtle库是Python语言中一个很流行的绘制图像的函数库使用turtle库,同学们头脑里需要有这样一个概念:想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形,def定义函数,def 用于定义函数,这段程序中,共出现两次def关键词,包含两个函数drawSnake和main。函数是一组代码的集合,用于表达一个功能,或者说,函数表示一组代码的归属,函数名称是这段代码的名字。def所定义的函数在程序中未经

20、调用不能直接执行,需要通过函数名调用才能够执行。,程序运行,两个def语句定义的函数所包含语句与def行存在缩进关系,def后连续的缩进语句都是这个函数的一部分。由于def定义的函数在程序中未经调用不会被执行,整个程序第一条执行的语句是main(),它表示执行名字为main()的函数。,程序运行,从而,该程序跳转到main()函数定义的一组语句中执行,即开始执行 turtle.setup()语句同样的,main()函数的最后一条语句调用了drawSnake()函数,当执行到这条语句时,程序跳转到drawSnake()函数中运行。,Python蟒蛇程序分析,Python小蛇实例,程序,程序运行m

21、ain()函数中语句,遇到setup函数Turtle中的turtle.setup()函数用于启动一个图形窗口,它有四个参数turtle.setup(width,height,startx,starty)分别是:启动窗口的宽度和高度表示窗口启动时,窗口左上角在屏幕中的坐标位置。,程序,我们所使用的显示屏幕也是一个坐标系,该坐标系以左上角为原点,向左和向下分别是x轴和y轴。蟒蛇程序代码启动一个1300像素宽、800像素高的窗口,该窗口的左上角是屏幕的左上角。,程序,Turtle中的turtle.pensize()函数表示小乌龟运动轨迹的宽度。它包含一个输入参数,这里我们把它设为30像素,用pyth

22、onsize变量表示。,程序,Turtle中的turtle.pencolor()函数表示小乌龟运动轨迹的颜色。它包含一个输入参数,这里我们把它设为蓝色,blue,其他颜色单词也可以使用。Turtle采用RGB方式来定义颜色,如果希望获得和图片中颜色一致的小蛇,请输入turtle.pencolor(“#3B9909”),程序,Turtle中的turtle.seth(angle)函数表示小乌龟启动时运动的方向。它包含一个输入参数,是角度值。其中,0表示向东,90度向北,180度向西,270度向南;负值表示相反方向。程序中,我们让小乌龟向-40度启动爬行,即:向东南方向40度。,0,90,180,2

23、70,程序,main()函数给出了小乌龟爬行的窗体大小,爬行轨迹颜色和宽度以及初始爬行的方位。最后,调用drawSnake函数启动绘制蟒蛇功能。drawSnake函数有四个参数,根据调用时给出的参数,分别将40传递给rad、80给angle,5给len,15给neckrad,turtle.circle()函数功能,turtle.circle()函数让小乌龟沿着一个圆形爬行参数rad描述圆形轨迹半径的位置这个半径在小乌龟运行的左侧rad远位置处,如果rad为负值,则半径在小乌龟运行的右侧参数angle表示小乌龟沿着圆形爬行的弧度值,turtle.fd()函数功能,turtle.fd()函数也可以

24、用turtle.forward()表示乌龟向前直线爬行移动表示小乌龟向前直线爬行移动,它有一个参数表示爬行的距离,函数的封装,Python的函数封装,蟒蛇程序功能可以分成两类:绘制图形前对画笔的设置,包括颜色、尺寸、初始位置等以及绘制Python蟒蛇的功能。由于蟒蛇绘制的功能相对独立,可以用函数来封装,函数封装,Python语言程序设计,第3章 基本数据类型,数字类型,数字类型,程序元素:010/10,存在多种可能 表示十进制整数值10 类似人名一样的字符串数字类型对Python语言中数字的表示和使用 进行了定义和规范,数字类型,Python语言包括三种数字类型整数类型浮点数类型复数类型,整数

25、类型,与数学中的整数概念一致,没有取值范围限制pow(x,y)函数:计算xy打开IDLE 程序1:pow(2,10),pow(2,15)程序2:pow(2,1000)程序3:pow(2,pow(2,15),整数类型,示例 1010,99,-217 0 x9a,-0X89(0 x,0X开头表示16进制数)0b010,-0B101(0b,0B开头表示2进制数)0o123,-0O456(0o,0O开头表示8进制数),浮点数类型,带有小数点及小数的数字 Python语言中浮点数的数值范围存在限制,小数精度也存在限制。这种限制与在不同计算机系统有关,浮点数类型,浮点数类型,示例 0.0,-77.,-2.

26、17 96e4,4.3e-3,9.6E5(科学计数法)科学计数法使用字母“e”或者“E”作为幂的符号,以10为基数。科学计数法含义如下:e=a*10b,复数类型,与数学中的复数概念一致,z=a+bj,a是实数部分,b是虚数部分,a和b都是浮点类型,虚数部分用j或者J标识 示例:12.3+4j,-5.6+7j,复数类型,z=1.23e-4+5.6e+89j(实部和虚部是什么?)对于复数z,可以用z.real获得实数部分,z.imag获得虚数部分z.real=0.000123 z.imag=5.6e+89,数字类型的操作,内置的数值运算操作符,三种类型存在一种逐渐“扩展”的关系:整数-浮点数-复数

27、(整数是浮点数特例,浮点数是复数特例)不同数字类型之间可以进行混合运算,运算后生成结果为最宽类型123+4.0=127.0(整数+浮点数=浮点数),内置的数值运算操作符,内置的数值运算操作符,数字类型之间相互运算所生成的结果是“更宽”的类型,基本规则是:整数之间运算,如果数学意义上的结果是小数,结果是浮点数;整数之间运算,如果数学意义上的结果是整数,结果是整数;整数和浮点数混合运算,输出结果是浮点数;整数或浮点数与复数运算,输出结果是复数。,内置的数值运算函数,Python解释器提供了一些内置函数,在这些内置函数之中,有6个函数与数值运算相关,数字类型的转换,数值运算操作符可以隐式地转换输出结

28、果的数字类型例如,两个整数采用运算符“/”的除法将可能输出浮点数结果。此外,通过内置的数字类型转换函数可以显式地在数字类型之间进行转换,数字类型的转换,三种类型可以相互转换 函数:int(),float(),complex()示例:int(4.5)=4(直接去掉小数部分)float(4)=4.0(增加小数部分)complex(4)=4+0J,数字类型的转换,示例:complex(4.5)=4.5+0J,数字类型的判断,函数:type(x),返回x的类型,适用于所有类型的判断示例:,math库的使用,math库概述,math库是Python提供的内置数学类函数库math库不支持复数类型math库

29、一共提供了4个数学常数和44个函数。44个函数共分为4类,包括:16个数值表示函数、8个幂对数函数、16个三角对数函数和4个高等特殊函数,math库概述,首先使用保留字import引用该库第一种:import math 对math库中函数采用math.()形式使用 第二种,from math import 对math库中函数可以直接采用()形式使用,math库解析,math库包括4个数学常数,math库解析,math库包括16个数值表示函数,math库解析,math库中包括8个幂对数函数,math库解析,math库包括六个“三角双曲函数,math库解析,math库包括4个高等特殊函数,实例3:

30、天天向上的力量,实例代码3.1:天天向上,一年365天,以第1天的能力值为基数,记为1.0,当好好学习时能力值相比前一天提高1,当没有学习时由于遗忘等原因能力值相比前一天下降1。每天努力和每天放任,一年下来的能力值相差多少呢?,实例代码3.1:天天向上,运行结果如下,每天努力1,一年下来将提高44%,好像不多?请继续分析。,实例代码3.2:天天向上,一年365天,如果好好学习时能力值相比前一天提高5,当放任时相比前一天下降5。效果相差多少呢?,实例代码3.2:天天向上,运行结果如下,每天努力5,一年下来将提高6倍!这个,不容小觑了吧?,实例代码3.3:天天向上,一年365天,如果好好学习时能力

31、值相比前一天提高1%,当放任时相比前一天下降1%。效果相差多少呢?,实例代码3.3:天天向上,运行结果如下,每天努力1%,一年下来将提高37倍。这个相当惊人吧!,实例代码3.4:天天向上,一年365天,一周5个工作日,如果每个工作日都很努力,可以提高1%,仅在周末放任一下,能力值每天下降1%,效果如何呢?,实例代码3.4:天天向上,猜猜运行结果?每周努力5天,而不是每天,一年下来,水平仅是初始的4.63倍!与每天坚持所提高的237倍相去甚远,实例代码3.5:天天向上,如果对实例代码3.4的结果感到意外,那自然会产生如下问题:每周工作5天,休息2天,休息日水平下降0.01,工作日要努力到什么程度

32、一年后的水平才与每天努力1%所取得的效果一样呢?,实例代码3.5:天天向上,如果每周连续努力5天,休息2天,为了达到每天努力1%所达到的的水平,则就需要在工作日将提高的程度达到约2%,即要努力1倍才仅是为了休息2天。这就是天天向上的力量!,字符串类型及其操作,字符串类型,字符串是用双引号或者单引号括起来的一个或多个字符。字符串可以保存在变量中,也可以单独存在。可以用type()函数测试一个字符串的类型,字符串类型,Python语言转义符:输出带有引号的字符串,可以使用转义符使用 输出带有转移符的字符串,字符串类型,字符串是一个字符序列:字符串最左端位置标记为0,依次增加。字符串中的编号叫做“索

33、引”,字符串类型,单个索引辅助访问字符串中的特定位置 格式为,字符串类型,Python中字符串索引从0开始,一个长度为L的字符串最后一个字符的位置是L-1Python同时允许使用负数从字符串右边末尾向左边进行反向索引,最右侧索引值是-1,字符串类型,可以通过两个索引值确定一个位置范围,返回这个范围的子串 格式::start和end都是整数型数值,这个子序列从索引start开始直到索引end结束,但不包括end位置。,字符串类型,字符串之间可以通过+或*进行连接加法操作(+)将两个字符串连接成为一个新的字符串乘法操作(*)生成一个由其本身字符串重复连接而成的字符串,字符串类型,len()函数能否返回一个字符串的长度,字符串类型的转换,大多数数据类型都可以通过str()函数转换为字符串,字符串使用实例,输入一个月份数字,返回对应月份名称缩写 这个问题的IPO模式是:输入:输入一个表示月份的数字

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2