资源描述
时间:课题程序设计基础-绪论教学目标1. 了解程序设计语言的发展历史2. 理解Python语言的特点及其重要性3. 掌握Python语言Hello程序的编写方法4. 掌握Python语言开发的运行环境的配置教学重点Python语言的特点及其重要性Python语言开发的运行环境的配置教学难点Python语言开发的运行环境的配置主要教法讲授演示法+上机操作教学过程一、新课导入1. 计算机的定义: 能够根据指令操作数据的设备 计算机的两个特性 功能性 可编程性 计算机的可编程性需要通过程序设计来体现 2. 程序设计语言:计算机能够理解和识别操作的一种交互体系 l 程序设计语言的种类 l 机器语言 l 汇编语言 l 高级语言 l 常用的程序设计语言 高级语言的执行方法 静态语言:编译执行 脚本语言:解释执行 编译和解释的区别 编译:一次性的翻译,需对目标代码优化 解释:每次运行都需要 编译:源代码(高级语言)转换成目标代码(机器语言) l 解释:源代码逐条转化成目标代码同时逐条运行目标代码的过程 编译的好处 目标代码执行速度更快 目标代码在相同操作系统上使用灵活 解释的好处 便于维护源代码 良好的可移植性 Python语言:将解释器和编译器结合的脚本语言 计算机已成为普通工具 学会编程:满足感和安全感 C/C+等语言:复杂 Python语言:充满快乐和创造性的全新旅程 3. Python语言概述 Python语言的历史 诞生于 1989年,已有25年,达到成熟期 2000年, Python 2.0, 2,.7.6 2008年, Python 3.0, 3.4.x Python语言的特点 强制缩进保证可读性 不需要主函数 可以同时被解释和编译执行 语言简洁 编程模式灵活(面向过程和面向对象) 4. Python语言的开发环境配置 安装Python运行环境 到Python主页下载并安装Python基本开发和运行环境,网址: http:/www.python.org/download/ 根据操作系统选择不同版本 下载相应的Python 2.7.6版本程序,跟随提示安装 使用Python运行环境 方法一:启动Windows命令行工具,输入python,在后输入Python语句,如图所示输入exit()或quit()退出 方法二:调用已安装的IDLE来启动Python运行环境, 方法三:按照语法格式编写代码,保存为文件,例如源文件hello.py。打开Windows命令行,使用命令python hello.py来运行文件 使用Python运行环境 方法四:打开IDLE,Ctrl+N打开一个新窗口,输入语句并保存,使用快键建F5即可运行该程序 方法五:将Python集成到Eclipse等面向较大规模项目开发的集成开发环境中 其他操作系统上配置Python环境与上述在Windows上的配置方法类似 5. Hello程序 你的第一个程序:在屏幕上打印出“Hello World” print “Hello World” 表示将引号中的信息输出到屏幕上 显示效果如下:二、上机练习首先进行Python的安装与开发环境配置,接着完成第一个程序 “Hello World”三、本课小结计算机的基本概念程序设计语言分类编译和解释Python语言概述Python的Hello程序编写及开发环境配置课后反思时间:课题Python 程序语言入门教学目标 让学生了解什么是编程及对编程提起浓厚的学习兴趣;Python Shell、GUI和Prompt(提示符)的理解;学会与Python交互的方法,print指令;新建程序文本文档、运行程序的方法、保存时需要注意什么;学会怎样去查询程序的错误;教学重点让学生对编程提起浓厚的兴趣;print指令的运用;识别和修正程序的错误。教学难点识别和修正程序的错误;主要教法讲授演示法+上机操作教学过程1、 复习巩固1、什么是编程?2、Python我们和计算机沟通的语言所想要表达编程软件翻计算机接收的意思译成二进制并执行常用、最流行的几种程序语言:C、C+、C#、Java、VB、python3、 Python可以用来做什么开发游戏软件(游戏后台大多数用python编写);制作更高级的Flash(web flash game);创建数据库;黑客 hacker(远程攻击计算机、破解硬件or软件);发明变形金刚(2006年日本FANUC推出的人工智能机器人);学习其他语言的基础(所有程序语言都有共同性,学好python能够让你快人一步的理解其他程序语言);python几乎无所不能。= 当然不是每一个学习python的人都能成功 = 但是学习python你将获利以下几点 = 让你的思维更加敏捷! 让你变的知识渊博! 让你学习更多的英文!= 也有可能带来一些“负面影响” = 你的皮肤会变得粗糙 _ 叫做提示符(Prompt),指程序正在等待你键入信息时显示的符号。3、 来点指令吧! print “Hey man!” 回车(每输入完一行指令都要输入回车以跳转到下一行)Print打印(命令),指在屏幕上显示文本,而不是常说的用打印机打印在纸上。!注意 颜色错误 print 5 + 38 计算机非常擅长算术运算,计算机被创造出来的初期就是被用来数据计算。再试一条指令! print 5 * 315= Mr.Lee TIPS =几乎所有计算机程序和语言中都使用 * 符号作为乘号。这个符号称作“星号”或“星”。=口算计算器python三者进行对比吧=口算:Print 5 * 3计算器:Print 98765431 - 9876543Python:Print 4548754875157512154515421 * 544451484484121512157=口算计算器python三者进行对比吧=利用python你除了可以超大数的数学计算之外,你还可以做些令人意想不到的事情,例如: print “Dog” + “ brother”Dog brother或者 print “where is plane ” * 20where is plane where is plane where is plane where is plane where is plane where is plane where is plane where is plane where is plane where is plane where is plane where is plane where is plane where is plane where is plane where is plane where is plane where is plane where is plane where is plane 计算机除了非常擅长运算外,另一件事情就是反复的做事情,重要的是它不会感到枯燥,就像上面我让计算机喊了20句 where is plane ,如果你高兴可以让它喊到直到MH370出现,前提是马航要给力还有就是不要停电5、 编程任务到目前为止,我们只是看到单个python指令的演示,其实程序就是多个指令的集合。1、 创建程序的方法:a.通过Python Shell菜单栏 File New Windows创建;b.快捷键:Ctrl + N。*新程序窗口标题栏显示“Untitled”(未命名)。如何给程序取名字?2、程序1我们的第一个程序“我爱吃香蕉”print “我爱吃香蕉!”print “香蕉 ” * 20print “mua ” * 40print “我吃撑了!”3、 保存/另存(命名)你的程序文档 File Save / Save As 输入完指令后通过 Save 快:Ctrl + N 保存or另存为 Save As 快:Ctrl + Shift +S!注意 扩展名 print where is plane ” syntax error: invalid syntax(语法错误:无效的语法) theres an error is your program(这是一个错误的程序) 错误原因:where前面漏了一个引号2、runtime error(运行时错误):只会在程序运行时才会发生的错误,是 IDLE 或 python 无法检测出来的错误。 例如: 程序2运行时错误“我爱大鳄鱼” print “你好!欢迎来到我的动物园!” print “我的动物园有好多好多的动物,例如: ” print “鳄鱼 ” + 5 错误原因: IDLE 1.2.1= No Subprocess = 你好!欢迎来到我的动物园! 我的动物园有好多好多的动物,例如: Traceback (most recent call last):(错误的开始) File “C:UsersAdministratorDestopi love big cayman.py”, line 4, in (错误发生的位置 / 程序文件保存的路径) Print “鳄鱼 ” + 5(出错的代码行) TypeError:cannot concatenate str and int objects(python认为可能存在的问题,并不一定是在这里,但是会在这附近)= 思考 =为嘛print “鳄鱼 ” * 5可以,print “鳄鱼 ” + 5却不行?= 解惑 =听我说,这有点像将苹果和鳄鱼放在一起,在python中不能将两个完全不同的东西放在一起,比如说数字(int)和文本(str)。“鳄鱼 ”+ 5像是在说5个苹果和3只鳄鱼相加等于多少?结果是8,但是8个什么?完全没有意义。不过几乎所有东西都可以乘以一个数来翻倍,如果你有1只鳄鱼,再乘以5,那么你就会有5只鳄鱼!(克隆大乱斗!)。7、 第二个程序任务第一个程序“我爱吃香蕉!”没多大实际意义,仅仅只是在屏幕上打印了一些内容,下面我们来是一个更加有意思的程序,记得给它取上一个名字,“NumGuess”是个不错的名字。File New Windows Save “NumGuess.py”输入以下代码:=#encoding=GBK#import randomsecret = random.randint(1, 100)guess = 0tries = 0print 你好,同学我和你们班主任之间有一个秘密!?print 这个秘密就在1-99之间的一个数字。 我会给你6次机会来猜这个数字,猜对你就可以获赠加多宝一罐! while guess !=secret and tries 6: guess = input(来猜个数字吧!? ) if guess secret: print 太高了喔! tries = tries + 1if guess = secret: print 哦也!你猜中这个数字了!那么加多宝的话,请出门左拐找你们蒋老师!else: print 我不会给你更多机会了,同学!你现在得请我喝一瓶王老吉! print 这个秘密数字就是, secret=程序解析:while、 if 、 else、elif 和 input 指令我们在以后会详细的学到。程序概念点: 由程序随机选取秘密数。 用户输入他猜的数。 程序根据秘密数检查用户猜的结果:太大还是太小? 用户不断尝试,直到猜出这个数,或者用完所有机会。 猜到的数与秘密数一致时,玩家获胜。 教学过程结束。课堂小结: 学会了如何启动IDLE; 了解了交互模式; 交给 Python 一些指令来执行; 看到了 Python 知道如何完成算术运算(包括非常大的数) ; 启动 IDLE 文本编辑器键入你的第一个程序:我爱吃香蕉; 运行你的第一个 Python 程序; 了解如何查看错误消息; 运行你的第二个 Python 程序:猜数游戏。课堂练习 之 用脑想一想:1. 如何启动IDLE?2. print 的作用是什么?3. Python 中表示乘法和除法的符号是什么?4. GUI 的特性包括哪些?5. 如果想要你的程序支持中文,需要做什么?课堂练习 之 动手做一做:1. 在交互模式中,使用 Python 计算一周有多少分钟。2. 编写一个简短的小程序,打印 3 行:你的名字、出生日期,还有你最喜欢的颜色。(结果应该是下面这样)我的名字叫XX,我是XX运动队的。我 1988 年 08 月 20 日出生。我最喜欢的颜色是粉红色。课后反思时间:课题判断循环教学目标掌握if语句:单分支、双分支、多分支、嵌套完成条件语句实例:登录认证模块学会判断输入是否合法了解三元表达式掌握range()掌握循环语句掌握for语句掌握while掌握break、continue、pass完成循环语句实例:登录认证模块扩展教学重点掌握if语句:单分支、双分支、多分支、嵌套了解三元表达式掌握range()掌握循环语句掌握for语句掌握while掌握break、continue、pass教学难点完成条件语句实例:登录认证模块完成循环语句实例:登录认证模块扩展主要教法讲授演示法+上机操作教学过程一、新课讲授1. 掌握if语句a) 单分支if 表达式:代码块1else:代码块b) 双分支if 表达式1: 代码块1elif 表达式2:代码块2c) 多分支if 表达式1: 代码块1elif 表达式2:代码块2else:代码块_其他d) 嵌套2. 了解三元表达式Expression1 if boolean_expression else Expression2 如果满足条件A大于B,则max值为A,反之max为B如:max=A if AB else B例如:3. 掌握range()range():产生整数序列例:range(n):产生从0开始,到n的数字序列,不包括n。range(m,n):产生从m开始,到n的数字序列,不包括n。range(m,n,k):产生从m开始,到n,增量为k的数字序列,不包括n。4. 掌握循环语句a) 掌握for语句语法格式:for expression1 in iterable:for_suiteelse:else_suite例如:结果:b) 掌握whilec) 掌握break、continue、pass1.1 语法结构:while boolean_expression:while_suiteelse:else_suite1.2 解释:如果boolean_expression的结果为True,循环就会执行;boolean_expression的结果为False时终止循环,此时如果有else分支,则会执行。以上结构中,else分支为可选部分。else代码块:循环不满足循环条件终止,才会执行,如果循环终止是由break跳出,则else分支不会执行。1.3 例如:break:跳出所处的最近层循环continue:跳到所处的最近层循环的开始处pass:占位语句例如:执行结果:二、上机练习1. 条件语句实例:登录认证模块a) 判断输入是否合法b) 非法用户提示警告信息c) 合法用户提示登录成功username = raw_input(username:)if username = :print 用户名不能为空else:print 0331;33;45m登录成功,欢迎%s0330m%usernamechr()ord()2. 循环语句实例:登录认证模块扩展a) 直接回车无效,继续输入b) 验证用户身份是否合法三、课堂小结if语句:单分支、双分支、多分支、嵌套、三元表达式、range()、循环语句、for语句、while、break、continue、pass登录认证模块展示课后反思时间:课题python序列-字符串教学目标了解序列类型常用操作了解索引和切片掌握类型转化掌握强制类型转化学会字符串转换实例:格式化输出菜单列表,将用户的输入数值转化整型并验证掌握字符串常用方法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.upper()/s.lower() /s.swapcases.count()教学重点了解序列类型常用操作了解索引和切片掌握类型转化掌握强制类型转化教学难点学会字符串转换实例主要教法讲授演示法+上机操作教学过程一、新课讲授1. 序列类型常用操作a) 索引和切片1.1.1 索引:例:s0从左向右:索引从0开始;从右向左:索引从-1开始1.1.2 切片:例:s0:21.1.3 扩展切片:指定步长,例:s0:9:2b) 掌握类型转化格式:print “字符串 %format1 %format2” % (变量或值1,变量或值2.)符号及其对应输出格式:%d或%i十进制整数或长整数%f浮点数%s字符串%用于输出符号%举例:c) 强制类型转化int():强制转换为整型,例如:注意:只能将由数字组成的字符串转换为整型错误用法float():强制转换为浮点型例如str():强制转换为字符串例如:2. 掌握字符串常用方法s.find(t):查找子串t,找到返回最小的索引值,找不到则返回-1s.join(iter) 使用s作为连接符连接序列iter中所有元素如:list2=h,e,l,l,o, .,c,o,m“”.join(list2)s.replace(old,new):替换s.split(sep):使用sep作为分割符,列表返回结果。如:str=”www.baidu.com”str.split(.) 得到www ,baidu,com序列s. strip(t): 删掉开头和结尾的字符t如:删除空白符 s1.strip()s. index(t):子串t首次出现的位置,找不到报错s.startswith/s.endswith(t)以子串t开头/结尾:结果是true或falses. isalnum()/s.isalpha()/s.isdigit()/isupper()/islower():判断所有字符是否为数字或字母/是否为字母/是否为数字结果是bools.upper()/s.lower() /s.swapcase:所有字母转化为大写字母/小写字母,大小写互换s.count(t) 统计t出现的次数二、上机练习a) 字符串转换实例:格式化输出菜单列表;将用户的输入数值转化整型并验证三、本课小结序列类型常用操作、索引和切片、类型转化、强制类型转化、字符串常用方法学生展示:字符串转换实例课后反思时间:课题python列表和元祖教学目标掌握列表基础知识掌握列表相关方法掌握序列类型操作掌握生成器掌握元组类型掌握元组相关方法教学重点掌握列表相关方法掌握序列类型操作掌握生成器掌握元组类型教学难点掌握列表相关方法掌握元组相关方法主要教法讲授演示法+上机操作教学过程一、新课讲授1. 掌握列表基础知识1.1 列表的特点:支持异构:一个列表中含不同类型的对象支持嵌套:即列表中的元素可以是列表可变:支持通过索引,切片,进行修改1.2 如何定义列表:方法一:;例:list1=1,3,5方法二:使用内置函数list(): 内建函数list(a_sequence) 可以将一个序列转为列表例1: str1=dddgf list1=list(str1) list1d, d, d, g, f例2:(后面讲) tuple1=(1,2,1) list1=list(tuple1) list11, 2, 1例3:2. 掌握列表相关方法:2.1 append():向列表中追加元素例如:2.2 extend():追加可迭代对象中所有元素例1:list2=1,2,3list3=list3.extend(list2) 例22.3 insert():在指定索引位置插入列表也支持索引,例如:插入例子:2.4 pop():按照索引弹出元素,返回值为该元素。默认弹出最后一个元素。例如:2.5 remove():按照元素值弹出第一个匹配项例如:2.6 count():统计指定值出现的次数2.7 index():某个值第一次出现的位置例如:2.8 reverse():反向存放例如:2.9 查询遍历:for I in listfor i,k enument(list)2.10 sort():排序3. 掌握序列类型操作:序列类型包括:字符串、列表、元组3.1 +连接*重复例如:3.2 max():求最大值、min():求最小值例如:4. 掌握列表生成式列表生成式,是Python内置的一种极其强大的生成list的表达式。4.1 用于:基于已有列表生成新列表4.2 语法结构:列表生成式的书写格式:x*x for x in range(1 , 11)第一:把要生成的元素 x*x 放到前面第二:后面跟上for循环这样就可以把list创建出来。for循环后面还可以加上if判断4.3 举例:1到10之间的偶数平方再除以2 作为新列表元素1到10之间的偶数,作为新列表元素4.4 特点:一次性生成新列表,如果列表数据过大,会消耗大量资源。1. 掌握元组类型1.1 定义元组:方法一:()例:tuple1=(1,3,4)方法二:使用内置函数tuple():将可迭代对象中所有元素作为元组元素例: list1=1,2,3 t1=tuple(list1) t1(1, 2, 3)1.2 元组的特点支持异构;支持嵌套;不可变:不支持通过索引、切片,进行修改2. 元组的遍历例如:3. 掌握元组相关方法index():返回指定元素第一次出现的索引位置count():指定元素出现的次数例如:二、上机练习练习:三、本课小结列表基础知识、列表相关方法、序列类型操作、生成器、元组类型、元组相关方法学生完成实例操作课后反思时间:课题运维平台计算机管理实例教学目标登录模块实现添加计算机删除计算机查询可管理计算机教学重点登录模块实现教学难点查询可管理计算机主要教法讲授演示法+上机操作教学过程一、学习任务运维平台计算机管理实例 任务要求与注意事项二、上机练习学生上机实操:提示:三、任务展示与评价学生进行展示,完成互评与老师点评项目分值评价标准得分自评组评师评程序设计20编程技巧30调试过程运行结果30搭建合理稳固小组配合20小组成员分工及配合方面总体得分课后反思时间:课题python字典和集合教学目标掌握字典类型掌握字典相关方法掌握字典的遍历掌握集合类型掌握集合相关方法教学重点掌握字典相关方法掌握字典的遍历掌握集合类型教学难点掌握字典的遍历掌握集合相关方法主要教法讲授演示法+上机操作教学过程一、新课讲授1. 掌握字典类型a) 字典的特点无序: 通过键实现元素存取,故无序可变:可以通过键进行改变异构:支持多种数据类型嵌套:可以在键值对中的值部分出现字典b) 定义字典:ii. 方法一:key1:value1,key2:value2,.iii. 方法二:dict()内置函数:指定键值例:d2=dict(name=jerry,age=45,gender=m)iv. 关键点: 键与值用冒号“:”分开; 项与项用逗号“,”分开; 字典中的键必须是唯一的,而值可以不唯一2. 掌握字典相关方法2.1 更新或添加元素:dict1key = value例如:2.2 items():变量解包:即将字典转化为键、值作为元组的列表例如:2.3 keys();键列表例如:2.4 values():值列表例如:2.5 has_key():判断是否存在某个键,返回结果true 或false例如:2.6 del 删除元素:调用python自身函数删除例如:2.7 len():取得字典中键值对个数例如:2.8 update():在原字典上合并字典,键相同时会被覆盖。例如:2.9 get():取得某个键对应的值例如:2.10 pop():弹出指定键对应的值2.11 popitem():随机弹出键值对2.12 clear():清除所有元素例如:3. 掌握字典的遍历:4. 掌握集合类型4.1 什么是集合无序、互异,4.2 集合的功能及特点支持成员关系判断支持迭代不支持索引,切片元素唯一4.3 定义集合set方法一:元素方法二:内置函数set()例:5. 集合相关方法:5.1 len():元素个数例如:5.2 add():添加元素例如:5.3 remove():删除元素例如:5.4 update():合并集合例如:5.5 pop():随机弹出某个元素例如:5.6 集合关系操作5.6.1 s|t:s和t的并集例如:5.6.2 s&t:s和t的交集例如:5.6.3 s-t:求差集,存在于s集合而不存在于t集合中的例如:5.6.4 st:求对称差集例如:二、上机练习学生上机完成字典类型、字典相关方法、字典的遍历、集合类型、集合相关方法的案例练习。三、本课小结字典类型、字典相关方法、字典的遍历、集合类型、集合相关方法课后反思时间:课题python文件处理教学目标掌握如何创建文件对象掌握open()三种基本模式掌握open()的附加模式掌握文件对象的相关方法掌握文件对象的相关属性教学重点掌握如何创建文件对象掌握open()三种基本模式掌握open()的附加模式教学难点掌握文件对象的相关方法掌握文件对象的相关属性主要教法讲授演示法+上机操作教学过程一、新课讲授1. 掌握如何创建文件对象a) 内置函数open()同file() :用于打开文件和创建文件对象,返回文件对象b) with 打开文件:with open(password) as f : #f = file(password)c) 语法格式:open(文件名,模式)例如:2. 掌握open()三种基本模式a) r:只读,如果文件不存在,会发生异常例:b) w:写入(覆盖原有内容),如果文件不存在,会创建文件i. 例1:password文件内容不为空,以w模式打开:结果:ii. 创建passwd文件c) a:附加(从文件尾部追加),如果文件不存在,会创建文件例如:3. 掌握open()的附加模式a) +:表示同时支持读写aab) a+ 可读写模式,写只能写在文件末尾处c) w+ 可读写,与a+的区别是要清空文件内容d) r+ 可读写,与a+的区别是可以写到文件任何位置4. 掌握文件对象的相关方法readline():返回一行readlines():列表类型返回所有行内容read():指定从文件读取多少字节,不指定字节数则读取全部内容,以字符串形式显示。tell():当前指针在文件中的位置(多少个字节的位置)seek():定义文件指针的偏移量 f.seek(偏移量, 选项)write():将字符串写入文件writelines():将字符序列写入flush():刷新,将数据从缓存区写入文件sldkjalsjaslkjdclose():关闭文件例如:例2:5. 掌握文件对象的相关属性mode:文件打开模式name:返回文件名closed:显示文件是否已关闭掉例如:二、上机练习学生上机完成创建文件对象、open()三种基本模式、open()的附加模式、文件对象的相关上机练习,熟练完成Python创建文件对象的方法。三、本课小结如何创建文件对象、open()三种基本模式、open()的附加模式、掌握文件对象的相关方法掌握文件对象的相关属性课后反思时间:课题函数式编程一教学目标掌握什么是函数掌握函数的定义掌握函数的调用掌握函数形参和实参的区别了解函数的作用域:什么是作用域、作用域分类掌握函数的参数:默认参数、关键字参数、可变参数教学重点掌握函数的调用掌握函数形参和实参的区别教学难点了解函数的作用域:什么是作用域、作用域分类掌握函数的参数:默认参数、关键字参数、可变参数主要教法讲授演示法+上机操作教学过程一、新课讲授1. 掌握什么是函数 function 功能 def 函数是python为了代码重用和最小化代码冗余而提供的基本程序结构。函数将相关功能打包并参数化,将复杂的系统分解成可管理的部件。2. 掌握函数的定义在这里说明几点: 在Python中采用def关键字进行函数的定义,不用指定返回值的类型。 函数参数params可以是零个、一个或者多个,同样的,函数参数也不用指定参数类型,因为在Python中变量都是弱类型的,Python会自动根据值来维护其类型。 return语句是可选的,它可以在函数体内任何地方出现,表示函数调用执行到此结束;如果没有return语句,会自动返回NONE,如果有return语句,但是return后面没有接表达式或者值的话也是返回NONE。下面看例子:例1:例2:例3:3. 掌握函数的调用函数调用的方法:函数名(实际参数)在Python中不允许前向引用,即在函数定义之前,不允许调用该函数例如下面的错误:4. 掌握函数形参和实参的区别4.1 形参全称是形式参数,在用def关键字定义函数时函数名后面括号里的变量称作为形式参数。4.2 实参全称为实际参数,在调用函数时提供的值或者变量称作为实际参数例如:5. 了解函数的作用域5.1 什么是作用域变量的作用域:即变量能够使用的范围5.2 作用域分类5.2.1 本地作用域:定义在函数体内的变量(局部变量)在Python中,会为每个层次生成一个符号表,里层能调用外层中的变量,而外层不能调用里层中的变量,并且当外层和里层有同名变量时,外层变量会被里层变量屏蔽掉,例如:在函数function中,while循环外面和while循环里面都有变量x,此时,while循环外面的变量x会被屏蔽掉。注意在函数内部定义的变量作用域都仅限于函数内部,在函数外部是不能够调用的,一般称这种变量为局部变量。5.2.2 全局作用域:定义在主程序的变量(全局变量)它是在函数外部定义的,作用域是整个文件。全局变量可以直接在函数里面应用,但是如果要在函数内部改变全局变量,必须使用global关键字进行声明6. 掌握函数的参数6.1 默认参数:定义函数时,“name=value”的形式设置参数默认值在Python中默认的是采用位置参数来传参。这样调用函数必须严格按照函数定义时的参数个数和位置来传参,从左至右进行匹配,否则将会出现预想不到的结果调用函数时默认参数放后边6.2 关键字参数: 调用函数时,使用“name=value”的形式通过参数名指定通过指定参数名字传递参数的时候,参数位置对结果是没有影响的。关键字参数最厉害的地方在于它能够给函数参数提供默认值, 参数指定了默认值后,如果传参时不指定参数名,则会从左到右依次进行传参,关键参数要放在普通参数后面。例如:6.3 可变参数6.3.1 例1:*args,我们要定义一个函数的时候,必须要预先定义这个函数需要多少个参数(或者说可以接受多少个参数)。一般情况下这是没问题的,但是也有在定义函数的时候,不能知道参数个数的情况在Python里,带*的参数就是用来接受可变数量参数的,这里接收的是元组数据6.3.2 例2:*kwargs, 字典作为参数:定义函数时使用*开头的参数,调用时使用“name=value”的形式,作为传递进来字典的键值对二、上机练习学生上机完成函数式编程任务,教师巡视指导。三、本课小结什么是函数函数的定义函数的调用函数形参和实参的区别函数的作用域:什么是作用域、作用域分类函数的参数:默认参数、关键字参数、可变参数课后反思时间:课题函数式编程二教学目标递归函数掌握lambda表达式enumerate函数序列化yield函数(迭代)装饰器教学重点递归函数教学难点掌握lambda表达式enumerate函数序列化yield函数(迭代)主要教法讲授演示法+上机操作教学过程一、新课讲授1. 递归函数:在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数;例1例22. 掌握lambda表达式2.1 lambda函数也叫匿名函数,即,函数没有具体的名称,而用def创建的方法是有名称的2.2 语法:lambda 参数 : 表达式lambda语句中,冒号前是参数,可以有多个,用逗号隔开,冒号右边的返回值。lambda语句构建的其实是一个函数对象2.3 举例:f1=lambda x,y:x+y f1(2,3)2.4 和map函数共同使用:Map()第一个参数接收一个函数名,第二个参数接收一个可迭代对象例如:Lambda和map共同使用3. enumerate函数用于遍历序列中的元素以及它们的下标4. yield函数:yield 的作用就是把一个函数变成一个 generator,带有 yield 的函数不再是一个普通函数,Python 解释器会将其视为一个 generator例如:5. 装饰器5.1 装饰器就是为已经存在的对象添加额外的功能。比如1:例如2:其中语法糖:相当于 run = login(run)二、上机练习学生上机完成本节函数式编程任务,教师巡视指导。三、本课小结递归函数掌握lambda表达式enumerate函数序列化yield函数(迭代)装饰器课后反思时间:课题常用模块一教学目标了解什么是模块了解模块和文件掌握导入模块:模块搜索路径、import语句导入模块、from 语句导入模块os模块及方法:系统相关、目录相关、路径相关、文件相关、查询相关教学重点了解模块和文件教学难点掌握导入模块os模块及方法:主要教法讲授演示法+上机操作教学过程一、新课讲授1. 了解什么是模块模块是一个包含定义的变量,函数和类的文件,其后缀名是.py。模块可以被其他程序导入,以使用该模块中的变量,函数和类。2. 了解模块和文件2.1 if _name_ =_main_:print xxxx2.1.1 如果作为程序文件独立执行,_name_变量值为_main_,则执行if _name_ =_main_:后的语句。2.1.2 如果作为模块导入其他文件,_name_变量值为模块名,则不执行if _name_ =_main_:后的语句,在导入进的文件中调用时才对应执行。3. 掌握导入模块1.1 模块搜索路径:import sysprint sys.path 查看以列表显示的搜索路径例如:1.2 import语句导入模块import module 导入模块import module as module_alias 以别名导入模块1.3 from 语句导入模块from modules import names 导入模块的指定属性或方法4. 掌握os模块常用方法(实现跨平台的操作系统应用接口)4.1 指示正在使用的平台;如果是window 则用nt表示,对于Linux/Unix用户,它是posix例如:4.2 调用系统命令的方法4.2.1 os.system():调用操作系统的命令;例如 4.2.2 os.popen()调用系统命令,但结果是返回对象例如:4.3 目录相关的方法:4.3.1 getcwd():查看当前目录。即python脚本工作的目录路径;例如:4.3.2 chdir():切换目录;例如:4.3.3 os.walk():遍历目录树walk(top,topdown=True,onerror=None)4.3.4 listdir():列出指定目录下文件及子目录;如:显示c盘文件和目录:4.3.5 mkdir():创建目录;如:4.3.6 makedirs( ):创建多层级目录;如:4.3.7 rmdir():删除空目录;例如:4.3.8 removedirs():删除多层级空目录;例如:4.4 路径相关的方法:4.4.1 os.path.split():函数返回一个路径的目录名和文件名;例如:4.4.2 os.path.abspath(name):获得绝对路径;如:4.4.3 os.path.splitext():分离文件名与扩展名,例如:4.4.4 os.path.join(path,name):连接目录与文件名或目录,例如:4.4.5 os.path.basename(path):返回文件名;例如:4.4.6 os.path.dirname(path):返回文件路径,例如:4.5 文件相关的方法:4.5.1 remove():删除文件,如:4.5.
展开阅读全文