Python教案 教学设计_第1页
Python教案 教学设计_第2页
Python教案 教学设计_第3页
Python教案 教学设计_第4页
Python教案 教学设计_第5页
已阅读5页,还剩93页未读 继续免费阅读

下载本文档

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

文档简介

时间:1.了解程序设计语言的发展历史过计算机的定义:–编译:一次性的翻译,需对目标代码优化–解释:每次运行都需要编译的好处解释的好处–诞生于1989年,已有25年,达到成熟期–2000年,Python2.0,2,.7.6–2008年,Python3.0,3.4.x–方法一:启动Windows命令行工具,输入python,在>>>后输入Python语句,如图所示输入exit()或quit()退出–方法三:按照语法格式编写代码,保存为文件,例如源文件hello.py。打开Windows命令行,使用命令pythonhello.py来运行文件•使用Python运行环境–方法四:打开IDLE,Ctrl+N打开一个新窗口,输入语句并保存,使用快键建–Python集成到Eclipse等面向较大规模项目开发的集成开发环境中–其他操作系统上配置Python环境与上述在Windows上的配置方法类似你的第一个程序:在屏幕上打印出“HelloWorld”–print“HelloWorld”时间:课题教学重点·print指令的运用;·识别和修正程序的错误。教学难点·识别和修正程序的错误;教学过程1、什么是编程?python能够让你快人一步的√让你学习更多的英文!×你可能会变成一枚宅男╯□╰·窗口标题栏的文字“PythonShell”-中文意思是“python本与程序交互途径的一种。的特性是包含:窗口、菜单、按钮、滚动条等。没有这些特性的程序叫做line(命令行程序)*提问:平时在使用电脑时有没有遇见过带有GUI的程序和text-mode、commandline?>>>print“Heyman!”回车(每输入完一行指令都要输入回车以跳转到下一行)>>颜色<<不同的部分,print的颜色就是橙色。>>错误<<python不懂你输入的内容,因为print被错误的拼成了point。我们刚刚执行的第一条指令:heyman,就是在和python交互,这种输入代码与计算机交流的过程就叫做交互。多试一条指令!>>>再试一条指令!======Mr.LeeTIPS======几乎所有计算机程序和语言中都使用*======口算&计算器&python三者进行对比吧======口算:Print5*3======口算&计算器&python三者进行对比吧======利用python>>>print“Dog”+“brother”>>>print“whereisplane”*20whereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplane就像上面我让计算机喊了20句whereisplaneMH370出现,前提是马航要给力还有就是不要停电……到目前为止,我们只是看到单个python指令的演示,其实程序就是多个指令的集合。1、创建程序的方法:print“香蕉”*20printFile→Save/SaveAs六、如果出了问题1、syntax的某个内容不是正确的Python代码。IDLE或python无法检测出来的错误。printprint“我的动物园有好多好多的动物,例如:”print“鳄鱼”+5错误原因:IDLE1.2.1>>>我的动物园有好多好多的动物,例如:Traceback(mostrecentcalllast):(错误的开始)File“C:\Users\Administrator\Destop\ilovebigcayman.py”,line4,in<module>(错误发生的位置/程序文件保存的路径)Print“鳄鱼”+5(出错的代码行)TypeError:cannotconcatenate‘str’and‘int’认为可能存在的问题,并不一定是在这里,但是会在这附近)python中不能将两个完全不同的东西”+5像是在说5个苹果和3只鳄鱼相加等于多少?结果是8,但是8个什么?完全没有意义。不过几乎所有东西都可以乘以一个数来翻倍,如果你有1只鳄鱼,再乘以5,那么你就会有5输入以下代码:#encoding=GBK#importrandomsecret=random.randint(1,100)print"这个秘密就在1-99之间的一个数字。我会给你6次机会来猜这个数字,猜对你就可以获赠加多宝一罐!"guess=input("来猜个数字吧!?")printwhile、if、else、elif和input指令我们在以后会详细的学到。程序概念点:由程序随机选取秘密数。学会了如何启动IDLE;了解了交互模式;•运行你的第二个Python程序:猜数游戏。课堂练习之用脑想一想:2.print的作用是什么?5.如果想要你的程序支持中文,需要做什么?课堂练习之动手做一做:1.在交互模式中,使用Python计算一周有多少分钟。2.编写一个简短的小程序,打印3行:你的名字、出生日期,还有你最喜欢的颜色。(结果应该是下面这样)时间:掌握if语句:单分支、双分支、多分支、嵌套完成条件语句实例:登录认证模块学会判断输入是否合法了解三元表达式掌握break、continue、pass完成循环语句实例:登录认证模块扩展掌握if语句:单分支、双分支、多分支、嵌套了解三元表达式完成条件语句实例:登录认证模块完成循环语句实例:登录认证模块扩展过掌握if语句了解三元表达式掌握循环语句例如:如果boolean_expression的结果为True,循环就会执行;boolean_expression的结果为False时终止循环,此时如果有else分支,则会执行。以上结构中,else分支为可选部分。else代码块:循环不满足循环条件终止,才会执行,如果循环终止是由break跳出,则else分支不会执行。条件语句实例:登录认证模块username=raw_input("username:")print"用户名不能为空"else:直接回车无效,继续输入if语句、while时间:学会字符串转换实例:格式化输出菜单列表,将用户的输入数值转化整型并验证s.find()s.join()s.replace()s.split()s.strip()s.index()s.startswith/s.endswith(t)s.isalnum()/s.isalpha()/s.isdigit()/isupper()/islower()过序列类型常用操作索引:例:s[0]从左向右:索引从0开始;从右向左:索引从-1开始切片:例:s[0:2]print“字符串%format1%format2…”%(变量或值1,变量或值2...)符号及其对应输出格式:str():强制转换为字符串例如:掌握字符串常用方法sep作为分割符,列表返回结果。如:删除空白符s1.strip()s.isalnum()/s.isalpha()/s.isdigit()/isupper()/islower():判断所有字符是否为数字或字母s.count(t)统计t出现的次数字符串转换实例:格式化输出菜单列表;将用户的输入数值转化整型并验证时间:过支持异构:一个列表中含不同类型的对象支持嵌套:即列表中的元素可以是列表可变:支持通过索引,切片,进行修改方法二:使用内置函数list():内建函数list(a_sequence)可以将一个序列转为列表>>>tuple1=(1,2,1)>>>list1=list(tuple1)列表也支持索引,例如:2.4例如:1到10之间的偶数平方再除以2作为新列表元素1到10之间的偶数,作为新列表元素第四章特点:一次性生成新列表,如果列表数据过大,会消耗大量资源。1.掌握元组类型1.1定义元组:方法二:使用内置函数tuple():将可迭代对象中所有元素作为元组元素不可变:不支持通过索引、切片,进行修改列表基础知识、列表相关方法、序列类型操作、生成器、元组类型、元组相关方法时间:运维平台计算机管理实例过小组成员分工及配合方面时间:教学过程字典的特点定义字典:ii.➢➢➢2.1更新或添加元素:dict1[key]=value2.6del删除元素:调用python自身函数删除方法二:内置函数set()pop():随机弹出某个元素学生上机完成字典类型、字典相关方法、字典的遍历、集合类型、集合相关方法的案例练习。时间:掌握open()三种基本模式掌握open()的附加模式掌握文件对象的相关方法掌握文件对象的相关属性掌握如何创建文件对象掌握open()三种基本模式掌握open()的附加模式掌握文件对象的相关方法掌握文件对象的相关属性过1.掌握如何创建文件对象a)内置函数open()同file():用于打开文件和创建文件对象,返回文件对象b)with打开文件:withopen('password')asf:#f=file('password')a)r:只读,如果文件不存在,会发生异常b)a)+:表示同时支持读写aaread():指定从文件读取多少字节,不指定字节数则读取全部内容,以字符串形式显示。f.seek(偏移量,选项)学生上机完成创建文件对象、open()三种基本模式、open()的附加模式、文件对象的相关上机练习,熟练完成Python创建文件对象的方法。open()三种基本模式、open()的附加模式、掌握文件对象的相关方法掌握文件对象的相关属性时间:函数式编程一了解函数的作用域:什么是作用域、作用域分类掌握函数的参数:默认参数、关键字参数、可变参数掌握函数的调用了解函数的作用域:什么是作用域、作用域分类掌握函数的参数:默认参数、关键字参数、可变参数讲授演示法+上机操作过➢➢在Python中采用def关键字进行函数的定义,不用指定返回值的类型。函数参数params可以是零个、一个或者多个,同样的,函数参数也不用指定参数类型,因为在Python中变量都是弱类型的,Python会自动根据值来维护其类型。➢return结束;如果没有return语句,会自动返回NONE,如果有return语句,但是return后面没有接表达式或者值的话也是返回NONE。下面看例子:例1:例2:例3:在Python中不允许前向引用,即在函数定义之前,不允许调用该函数例如下面的错误:4.1def关键字定义函数时函数名后面括号里的变量称作为形式参数。变量的作用域:即变量能够使用的范围在Python中,会为每个层次生成一个符号表,里层能调用外层中的变量,并且当外层和里层有同名变量时,外层变量会被里层变量屏蔽掉,例如:在函数function循环外面和while循环里面都有变量while循环外面的变量x会被屏蔽掉。注意在函数内部定义的变量作用域都仅限于函数内部,在函数外部是不能够调用的,一般称这种变量为局部变量。它是在函数外部定义的,作用域是整个文件。全局变量可以直接在函数里面应用,但是如果要在函数内部改变全局变量,必须使用global关键字进行声明在Python果调用函数时默6.2关键字参数:调用函数时,使用“name=value”的形式通过参数名指定关键参数要放在普通参数后面。6.3.1例我们要定义一个函数的时候,必须要预先定义这个函数需要多也有在定义函数的时候,不能知道参数个数的情况在Python就是用来接受可变数量参数的,这里接收的是元组数据6.3.2例2:**kwargs,字典作为参数:定义函数时使用**开头的参数,调用时使用“name=value”的形式,作为传递进来字典的键值对学生上机完成函数式编程任务,教师巡视指导。函数的参数:默认参数、关键字参数、可变参数时间:过1.递归函数:在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数;2.1lambda函数也叫匿名函数,即,函数没有具体的名称,而用def创建的方法是有名称的lambda语句中,冒号前是参数,可以有多个,用逗号隔开,冒号右边的返回值。lambda语句构建的其实是一个函数对象Map()第一个参数接收一个函数名,第二个参数接收一个可迭代对象例如:Lambda和map共同使用4.yield函数:yield的作用就是把一个函数变成一个generator,带有yield的函数不再是一个普通函数,Python解释器会将其视为一个generator5.1装饰器就是为已经存在的对象添加额外的功能。掌握lambda表达式enumerate函数序列化yield函数(迭代)装饰器时间:了解什么是模块了解模块和文件语句导入模块os模块及方法:系统相关、目录相关、路径相关、文件相关、查询相关了解模块和文件掌握导入模块过模块是一个包含定义的变量,函数和类的文件,其后缀名是.py。模块可以被其他程序导入,以使用该模块中的变量,函数和类。2.1.1如果作为程序文件独立执行,__name__变量值为__main__,则执行if__name__=="__main__":后的语句。2.1.2如果作为模块导入其他文件,__name__变量值为模块名,则不执行if__name__=="__main__":后的语句,在导入进的文件中调用时才对应执行。importmodule导入模块importmoduleasmodule_alias以别名导入模块1.3from语句导入模块指示正在使用的平台;如果是window则用'nt'表示,对于Linux/Unix用户,它是'posix'例如:os.system():调用操作系统的命令;例如os.popen()调用系统命令,但结果是返回对象例如:python脚本工作的目录路径;例如:os.walk():遍历目录树walk(top,topdown=True,onerror=None)显示c盘文件和目录:os.path.exists()函数用来检验给出的路径是否真地存在,如:时间:课题教过1)random.randintrandom.randint()的函数原型为:random.randint(a,b),用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n:a<=n<=b#printrandom.randint(20,10)#该语句是错误的。下限必须小于上限。2)Random.randrange([start],stop[,step])random.randrange(10,100,12,14,16,...96,98]序列中获取一个随机数defreadfile(filename):#noticecommaifsys.argv[1].startswith('--'):option=sys.argv[1][2:]#fetchsys.argv[1]butwithoutthefirsttwocharactersThisprogramprintsfilestothestandardoutput.Anynumberoffilescanbespecified.Optionsinclude:--helpelse::Displaythishelp'''print'Unknownoption.'sys.exit()学生上机完成本节Random模块、MD5加密模块、Time模块、Sys模块的上机编程任务,时间:课题错误与异常和正则表达式掌握python中的常见异常掌握检测和处理异常掌握处理异常的特殊方法:断言、抛出异常、掌握re模块过当python检测到错误(语法错误或者逻辑错误等)时,导致解释器无法继续执行下去,这时候就出现了异常.为程序开发人员提供了一种在运行时发现错误,进行恢复处理,继续执行的能力。3.掌握python中的常见异常TypeError---------传入的对象类型与要求不符AttributeError----对象没有这个属性,试图访问一个对象没有的属性或是方法4.掌握检测和处理异常python编程_Python异常机制try:代码段except异常类型,e:异常处理代码段,如果不知道异常类型,可以使用try:代码段exceptExcept,e:异常处理代码段;Except是通用异常类型-->捕捉这里语句的异常exceptException1[,reason]:-->异常判断语句exceptException2[,reason]:-->异常判断语句assert是断言的关键字。执行该语句的时候,先判断表达式expression,如果表达式为真,则什么都不做;如果表达式不为真,则抛出异常1)了解什么是正则表达式正则表达式(RE)是由普通字符和特殊符号组成的字符串,描述了这些字符的某种组合方式,因此能按某种模式匹配一组有相似特征的字符串.\w匹配字母,数字,下划线\W匹配不是字母,数字,下划线的字符\s匹配空白字符\S匹配不是空白的字符4)掌握re模块的常用方法回匹配列表则返回None。搜索:search会检查字符串任意位置与给定正则表达式的搜索情况。如果搜索到成功的匹配,会返回一个匹配对象,否则返回None。max次(默认是分割所有匹配的地方)用法:split(pattern,string,max=0)subn()和sub()一样,但它还返回一个表示替换次数的数字;替换后的字符串和表示替换次数的数字作为一个元组返回。用法:sub(pattern,repl,string,max=0)5)掌握匹配或搜索返回对象的常用的方法1)group()返回整个正则表达式匹配的字符串,同group(0)2)group(i)正则表达式中第i括起来部分正则表达式匹配的内容3)groups()返回各个()括起来的正则表达式匹配的字符串组成的元组4)start()返回匹配开始的位置学生上机完成本节python中的常见异常、检测和处理异常、处理异常的特殊方法、re模块的上机编程任务,教师巡视指导。什么是错误、什么是异常python中的常见异常检测和处理异常时间:与数据库交互过yuminstallpython-develmysql-develzlib-developenssl-devela)导入模块//执行单条sql语句,但是重复执行参数列表里的参数,返回值为受影响的行数executemany(self,query,args)//移动到下一个结果集//接收size条返回结果行.如果size的值大于返回的结果行的数量,则会返回3.2如果数据库连接存在我们可以使用表EMPLOYEE:#!/usr/bin/pythonexcept:这里是一个单sql执行的示例,cursor.executemany的用法感兴趣的读者可以参看相关的aws主机资产管理系统示例。sql="INSERTINTOEMPLOYEE(FIRST_NAME,\LAST_NAME,AGE,SEX,INCOME)\VALUES('%s','%s','%d','%c','%d')"%\('Mac','Mohan',20,'M',2000)try:income=row[4]print"Error:unabletofecthdata"#关闭数据库连接deletefromemployeewhereFIRST_NAME='%s'"""%(FIRST_NAME)returnsqltest表中的SEX字段全部修改为字段递增1:except:对于支持事务的数据库,在Python数据库编程中,当游标建立之时,就自动开始了一个隐形的数据库事务。commit()方法游标的所有更新操作,rollback()方法回滚当前游标的所有操作。每一个方法都开始了一个新的事务。学生上机完成本节python中的数据库连接、数据库操作、数据库关闭的上机编程任务,教师巡视指导。时间:完成教学任务实例:具体如下硬盘监控过完成教学任务实例:具体如下硬盘监控Psutil可以获取系统运行的进程、CPU、内存、磁盘、网络等信息,主要应用于系统监控,ps等命令功能,并且跨平台支持32、64位操作系统,还支持2.4到3.x版本的python版本1.监控服务器硬盘使用率代码如下:disk_use=psutil.disk_usage(i.device)print"使用了:%sM,空闲:%sM,总共:%sM,使用率\033[1;31;42m%s%%\033[0m,"%(disk_use.used/1024/1024,disk_use.free/1024/1024,disk_use.total/1024/1024,disk_use.percent)2.监控服务器cpu使用率cpu_liyonglv=psutil.cpu_percent()print"当前cpu利用率:\033[1;31;42m%s%%\033[0m"%cpu_liyonglvifcpu_liyonglv15.0:defbaojing():i=0printpsutil.swap_memory()4.监控服务器网卡使用率#网络使用率print"发送字节数:\033[1;31;42m%s\033[0mbytes,接收字节数:\033[1;31;42m%s\033[0mbytes,发送包数:%s,接收包数%s"%(count.bytes_sent,count.bytes_recv,count.packets_sent,count.packets_recv)curent_time_1=time.strftime("%Y-%m-%d%H:%M:%S",time.localtime(curent_time))printcurent_time_1printk,i,"%.2f%%"%(proc.memory_percent()),"%",(),proc.exe()小组成员分工及配合方面时间:监控服务模块开发监控与apache服务实例开发制作Socket编程之服务端代码Socket编程之客户端代码监控apache服务实例开发制作socket模块监控apache服务实例开发制作监控apache服务实例开发制作过个socket。Socket的英文原义是“孔”或“插座”。作为BSDUNIX的进程通信机制,取后一种意思。IP拟机或不同计算机之间的通信Python提供了两个基本的socket模块。第一个是Socket,它提供了标准的BSDSocketsAPI。第二个是SocketServer,它提供了服务器中心类,可以简化网络服务器的开发。Socket?类型socket(family,type[,protocal])?使用给定的地址族、套接字类型、协议编号(默认为0)来创建套接字。只能够用于单一的Unix系统进程间通信服务器之间网络通信IPv6流式socket,forTCP数据报式socket,forUDP等网络报文,而SOCK_RAW可以;其次,SOCK_RAW也可以处理特殊的IPv4套接字选项由用户构造IP头。可靠的连续数据包服务s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)1)TCP发送数据时,已建立好TCP连接,所以不需要指定地址。UDP是面向无连接的,每次发送要指定是发给谁。2)服务端与客户端不能直接发送列表,元组,字典。需要字符串化repr(data)。将套接字绑定到地址,?在AF_INET的形式表示地址.开始监听TCP传入连接。backlog指定在拒绝连接之前,操作系统可以挂起的最大连接数量。该值至少为1,大部分应用程序设为

温馨提示

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

评论

0/150

提交评论