初中信息技术川教七年级上册 走进Python的世界Python教案教学设计_第1页
初中信息技术川教七年级上册 走进Python的世界Python教案教学设计_第2页
初中信息技术川教七年级上册 走进Python的世界Python教案教学设计_第3页
初中信息技术川教七年级上册 走进Python的世界Python教案教学设计_第4页
初中信息技术川教七年级上册 走进Python的世界Python教案教学设计_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

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

文档简介

时间:

程序设计基础一绪论

课题

1.了解程序设计语言的发展历史

学2.理解Python语言的特点及其重要性

3.掌握Python语言Hell。程序的编写方法

4.掌握Python语言开发的运行环境的配置

Python语言的特点及其重要性

教学重点

Python语言开发的运行环境的配置

教学难点Python语言开发的运行环境的配置

主要教法讲授演示法+上机操作

教学过程

一、新课导入

?计算机的定义:

能够根据指令操作数据的设备

?计算机的两个特性

-功能性

-可编程性

?计算机的可编程性需要通过程序设计来体现

?程序设计语言:计算机能够理解和识别操作的一种交互体系

?程序设计语言的种类

-机器语言

-汇编语言

-高级语言

-常用的程序设计语言

•高级语言的执行方法

-静态语言:编译执行

-脚本语言:解释执行

•编译和解释的区别

-编译:一次性的翻译,需对目标代码优化

-解释:每次运行都需要

?编译:源代码(高级语言)转换成目标代码(机器语言)

?解释:源代码逐条转化成目标代码同时逐条运行目标代码的过程

?编译的好处

?目标代码执行速度更快

?目标代码在相同操作系统上使用灵活

?解释的好处

?便于维护源代码

?良好的可移植性

?Python语言:将解释器和编译器结合的脚本语言

•计算机已成为普通工具

•学会编程:满足感和安全感

•C/C++等语言:复杂

•Python语言:充满快乐和创造性的全新旅程

?Python语言概述

,Python语言的历史

-诞生于1989年,已有25年,达到成熟期

—2000年,Python,2,.

2023年,Python,语言的特点

-强制缩进保证可读性

-不需要主函数

-可以同时被解释和编译执行

-语言简洁

-编程模式灵活(面向过程和面向对象)

?Python语言的开发环境配置

?安装Python运行环境

-根据操作系统选择不同版本

?使用Python运行环境

-方法一:启动Windows命令行工具,输入python,在>>>后输入Python语句,

如图所示输入exit。或quit。退出

-方法二:调用已安装的IDLE来启动Python运行环境,

-方法三:按照语法格式编写代码,保存为文件,例如源文件。打开Windows命令

行,使用命令python来运行文件

•使用Python运行环境

-方法四:打开IDLE,Ctrl+N打开一个新窗口,输入语句并保存,使用快键建

F5即可运行该程序

-方法五:将Python集成到Eclipse等面向较大规模项目开发的集成开发环境中

-其他操作系统上配置Python环境与上述在Windows上的配置方法类似

?Hello程序

?你的第一个程序:在屏幕上打印出“HelloWorld"

-print"HelloWorld”

-表示将引号中的信息输出到屏幕上

显示效果如下:

二、上机练习

首先进行Python的安装与开发环境配置,

接着完成第一个程序“HelloWorld”

三、本课小结

计算机的基本概念

程序设计语言分类

编译和解释

Python语言概述

Python的Hello程序编写及开发环境配置

课后

反思

时间:

课题Python程序语言入门

?让学生了解什么是编程及对编程提起浓厚的学习兴趣;

,PythonShell,GUI和Prompt(提示符)的理解;

•学会与Python交互的方法,print指令;

・新建程序文本文档、运行程序的方法、保存时需要注意什么;

,学会怎样去查询程序的错误;

•让学生对编程提起浓厚的兴趣;

教学重点,print指令的运用;

•识别和修正程序的错误。

教学难点•识别和修正程序的错误;

主要教法讲授演示法+上机操作

教学过程

一、复习巩固

1、什么是编程?

2、Python—我们和计算机沟通的语言

所想要表达----------►编程软件翻------------计算机接收

的意思译成二进制并执行

常用、最流行的几种程序语言:C、C++、C#、Java,VB、python

3、Python可以用来做什么

•开发游戏&软件(游戏后台大多数用python编写);

,制作更高级的Flash(webflashgame);

•创建数据库;

•黑客hacker(远程攻击计算机、破解硬件or软件);

•发明变形金刚(2023年日本FANUC推出的人工智能机器人);

•学习其他语言的基础(所有程序语言都有共同性,学好python能够让你快人一步的

理解其他程序语言);

•python几乎无所不能。

========当然不是每一个学习python的人都能成功========

但是学习python你将获利以下几点

V让你的思维更加敏捷!

V让你变的知识渊博!

V让你学习更多的英文!

============也有可能带来一些“负面影响"==========

X你的皮肤会变得粗糙>_<

X你可能会变成一枚宅男1口:

X花500元买一副眼镜0_O

二、上机操作从IDLE启动python

1、通过开始菜单;好比三种第一种:2B青年

VAV

三种方法2、通过快捷方式;第二种:普通青年

3、通过快捷键;网络青年第三种:文艺青年

•窗口标题栏的文字“PylhonShell”一中文意思是“python的外壳”,是作为用户输入文

本与程序交互途径的一种。

•整个窗口被叫做“GUI”一中文意思是“图形用户界面”,GUI的特性是包含:窗口、菜单、

按钮、滚动条等。没有这些特性的程序叫做text-mode(文本模式程序)、commandline(命

令行程序)

*提问:平时在使用电脑时有没有遇见过带有GUI的程序和text-mode、commandline?

(答案:windows窗口DOS)

•»>一叫做提示符(Prompt),指程序正在等待你键入信息时显示的符号。

三、来点指令吧!

»>print“Heyman!”回车(每输入完一行指令都要输入回车以跳转到下一行)

Print—打印(命令),指在屏幕上显示文本,而不是常说的用打印机打印在纸上。

!!注意>>颜色〈〈注意!!

问:IDEL里为什么会有这些奇妙的颜色呢?

答:IDLE为了帮助我们更好的理解和阅读这些内容,会用不同的颜色来区分代码(code)

不同的部分,print的颜色就是橙色。

!!注意>>错误《注意!!

问:SyntaxError:invalidsyntax是个什么东西?

答:直译“语法错误:无效的语法”,表示python不懂你输入的内容,因为print被错

误的拼成了pointo

四、与python交互

我们刚刚执行的第一条指令:heyman,就是在和python交互,这种输入代码与计算机

交流的过程就叫做交互。

多试一条指令!

»>print5+3

8

»>

计算机非常擅长算术运算,计算机被创造出来的初期就是被用来数据计算。

再试一条指令!

»>print5*3

15

»>

TIPS

几乎所有计算机程序和语言中都使用*符号作为乘号。这个符号称作“星号”或“星”。

======口算&计算器&python三者进行对比吧======

口算:Print5*3

======口算&计算器&python三者进行对比吧======

利用python你除了可以超大数的数学计算之外,你还可以做些令人意想不到的事情,例

如:

>»print"Dog"+"brother”

Dogbrother

»

或者

>»print"whereisplane"*20

whereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhere

isplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplane

whereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereis

planewhereisplanewhereisplanewhereisplane

»>

计算机除了非常擅长运算外,另一件事情就是反复的做事情,重要的是它不会感到枯燥,

就像上面我让计算机喊了20句whereisplane,如果你高兴可以让它喊到直到MH370出现,

前提是马航要给力还有就是不要停电……

五、编程任务

到目前为止,我们只是看到单个python指令的演示,其实程序就是多个指令的集合。

1、创建程序的方法:

a.通过PythonShell菜单栏-*File-*NewWindows创建;

b.快捷键:Ctrl+No

*新程序窗口标题栏显示“Untitled"(未命名)。如何给程序取名字?

2、程序1我们的第一个程序一“我爱吃香蕉”

print“我爱吃香蕉!”

print"香蕉”*20

print"mua"*40

print“我吃撑了!”

3、保存/另存(命名)你的程序文档

〈FilefSave/SaveAsA

输入完指令后通过Save快:Ctrl+N保存。r另存为

SaveAs快:Ctrl+Shift+S

!!注意>>扩展名"注意!!

输入完程序名称后一定不要忘了加上皿,否则在python中将看不到

程序中命令的颜色和windows不知道该用什么程序来打开这个文件。

TIPS

如果你想要你的程序支持中文,需要在程序的第一行加上代码:

#encodingXXX#

XXX用各国文字编码代码来替换,各国文字编码代码可以查询百度。

例如,简体中文的代码是:GBK,那么程序的第一行应写上:

#encodingGBK#

======TIPS======

六、如果出了问题

在编程过程中容易出现的问题归纳为两大类:

1、syntaxerror(语法错误):指编程语言的拼写和文法规则出现错误,意味着你键入

的某个内容不是正确的Python代码。

例如:

»>

printwhereisplane”

syntaxerror:invalidsyntax(语法错误:无效的语法)

there'sanerrorisyourprogram(这是一个错误的程序)

»>

错误原因:where前面漏了一个引号

2、runtimeerror(运行时错误):只会在程序运行时才会发生的错误,是IDLE或python

无法检测出来的错误。

例如:

程序2运行时错误一“我爱大鳄鱼”

»>

print“你好!欢迎来到我的动物园!”

print“我的动物园有好多好多的动物,例如:”

print“鳄鱼”+5

»>

错误原因:

IDLE========NoSubprocess=========

»>

你好!欢迎来到我的动物园!

我的动物园有好多好多的动物,例如:

Traceback(mostrecentcalllast):(错误的开始)

File"C:\Users\Administrator\Destop\ilovebig”,line4,in<module>

(错误发生的位置/程序文件保存的路径)

Print“鳄鱼”+5(出错的代码行)

TypeError:cannotconcatenate'str'and'int'objects(python认为可能

存在的问题,并不一定是在这里,但是会在这附近)

=====================思考=====================

为嘛print“鳄鱼”*5可以,print“鳄鱼”+5却不行?

===================解惑===================

听我说,这有点像将苹果和鳄鱼放在一起,在python中不能将两个完全不同的东西

放在一起,比如说数字(int)和文本(str)。“鳄鱼”+5像是在说5个苹果和3只鳄鱼相

加等于多少?结果是8,但是8个什么?完全没有意义。

不过几乎所有东西都可以乘以一个数来翻倍,如果你有1只鳄鱼,再乘以5,那么

你就会有5只鳄鱼!(克隆大乱斗!)。

七、第二个程序任务

第一个程序“我爱吃香蕉!”没多大实际意义,仅仅只是在屏幕上打印了一些内容,下面

我们来是一个更加有意思的程序,记得给它取上一个名字,"NumGuess”是个不错的名字。

FilefNewWindowsfSave-♦””

输入以下代码:

#encoding=GBK#

importrandom

secret=(1,100)

guess=0

tries=0

print〃你好,同学……我和你们班主任之间有一个秘密!?〃

print〃这个秘密就在1-99之间的一个数字。我会给你6次机会来猜这个数字,猜对你

就可以获赠加多宝一罐!〃

whileguess!=secretandtries<6:

guess=input(〃来猜个数字吧!?〃)

ifguess<secret:

print〃太低了喔!~〃

elifguess>secret:

print〃太高了喔!~〃

tries=tries+1

ifguess==secret:

print〃哦也!你猜中这个数字了!!那么加多宝的话,请出门左拐找你们蒋老师!〃

else:

print"我不会给你更多机会了,同学!你现在得请我喝一瓶王老吉!”

print”这个秘密数字就是-------",secret

程序解析:

while>if、else>elif和input指令我们在以后会详细的学到。

程序概念点:

?由程序随机选取秘密数。

?用户输入他猜的数。

?程序根据秘密数检查用户猜的结果:太大还是太小?

?用户不断尝试,直到猜出这个数,或者用完所有机会。

?猜到的数与秘密数一致时,玩家获胜。

>»教学过程结束。

课堂小结:

?学会了如何启动IDLE;

?了解了交互模式;

,交给Python一些指令来执行;

•看到了Python知道如何完成算术运算(包括非常大的数);

•启动IDLE文本编辑器键入你的第一个程序:我爱吃香蕉;

•运行你的第一个Python程序;

•了解如何查看错误消息;

•运行你的第二个Python程序:猜数游戏。

课堂练习之用脑想一想:

1.如何启动IDLE?

的作用是什么?

中表示乘法和除法的符号是什么?

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表达式:

代码块1

else:

代码块

b)双分支

if表达式1:

代码块1

elif表达式2:

代码块2

c)多分支

if表达式1:

代码块1

elif表达式2:

代码块2

else:

代码块一其他

d)嵌套

2.了解三元表达式

Expressionlifboolean_expressionelseExpression2

如果满足条件A大于B,则max值为A,反之max为B

如:max=AifA>BelseB

例如:

3.掌握range()

range():产生整数序列

例:

range(n):产生从0开始,到n的数字序列,不包括n。

range(m,n):产生从m开始,到n的数字序列,不包括n。

range(叫n,k):产生从m开始,到n,增量为k的数字序列,不包括n。

4.掌握循环语句

a)掌握for语句

语法格式:

forexpressionliniterable:

for_suite

else:

else_suite

例如:

结果:

b)掌握while

c)掌握break、continue>pass

语法结构:

whileboolean_expression:

while_suite

else:

else_suite

解释:

如果boolean_expression的结果为True,循环就会执行;boolean_expression

的结果为False时终止循环,此时如果有else分支,则会执行。

以上结构中,else分支为可选部分。else代码块:循环不满足循环条件终止,

才会执行,如果循环终止是由break跳出,则else分支不会执行。

例如:

break:跳出所处的最近层循环

continue:跳到所处的最近层循环的开始处

pass:占位语句

例如:

执行结果:

二、上机练习

1.条件语句实例:登录认证模块

a)判断输入是否合法

b)非法用户提示警告信息

c)合法用户提示登录成功

username=raw_input("username:")

ifusername二二'':

print〃用户名不能为空”

else:

print"\033[l;33;451n登录成功,欢迎%s\033[0ni〃%usernanie

chr0

ord()

2.循环语句实例:登录认证模块扩展

a)直接回车无效,继续输入

b)验证用户身份是否合法

三、课堂小结

if语句:单分支、双分支、多分支、嵌套、三元表达式、range()、循环语句、for语句、

while

、break、continue、pass

登录认证模块展示

课后

反思

时间:

课题python序列-字符串

了解序列类型常用操作

了解索引和切片

掌握类型转化

掌握强制类型转化

学会字符串转换实例:格式化输出菜单列表,将用户的输入数值转化整型并

验证

掌握字符串常用方法

0()0()0()(t)

s.isalnum()/()/()/isupper()/islower()

0/O/

0

了解序列类型常用操作

了解索引和切片

教学重点

掌握类型转化

掌握强制类型转化

教学难点学会字符串转换实例

主要教法讲授演示法+上机操作

教学过程

一、新课讲授

1.序列类型常用操作

a)索引和切片

1.1.1索引:例:s[0]从左向右:索引从0开始;从右向左:索引从T开始

1.1.2切片:例:s[0:2]

1.1.3扩展切片:指定步长,例:s[0:9:2]

b)掌握类型转化

格式:

print“字符串%formatl%format2-w%(变量或值1,变量或值2...)

符号及其对应输出格式:

刎或断十进制整数或长整数

%f浮点数

%s字符串

%%用于输出符号%

举例:

C)强制类型转化

int():强制转换为整型,

例如:

注意:只能将由数字组成的字符串转换为整型

错误用法

float():强制转换为浮点型例如

str():强制转换为字符串例如:

2.掌握字符串常用方法

(t):查找子串t,找到返回最小的索引值,找不到则返回T

(iter)使用s作为连接符连接序列iter中所有元素

如:list2=Lh,e,1,1,o,,,c,o,mJ

.join(list2)

(old,new):替换

(sep):使用sep作为分割符,列表返回结果。

如:str=””

得到["www","baidu","com”]序列

s.strip(t):删掉开头和结尾的字符t

如:删除空白符。

s.index(t):子串t首次出现的位置,找不到报错

(t)以子串t开头/结尾:结果是true或false

s.isalnum()/()/()/isupperO/islower0:判断所有字符是否为数字或字母

/是否为字母/是否为数字

结果是bool

0/()/:所有字母转化为大写字母/小写字母,大小写互换

(t)统计t出现的次数

二、上机练习

a)字符串转换实例:格式化输出菜单列表;将用户的输入数值转化整型并验证

三、本课小结

序列类型常用操作、索引和切片、类型转化、强制类型转化、字符串常用方法

学生展示:字符串转换实例

课后

反思

时间:

课题python列表和元祖

掌握列表基础知识

教掌握列表相关方法

学掌握序列类型操作

目掌握生成器

标掌握元组类型

掌握元组相关方法

掌握列表相关方法

掌握序列类型操作

教学重点

掌握生成器

掌握元组类型

掌握列表相关方法

教学难点

掌握元组相关方法

主要教法讲授演示法+上机操作

教学过程

一、新课讲授

1.掌握列表基础知识

1.1列表的特点:

支持异构:一个列表中含不同类型的对象

支持嵌套:即列表中的元素可以是列表

可变:支持通过索引,切片,进行修改

1.2如何定义列表:

方法一:□;例:listl=[l,3,5]

方法二:使用内置函数list。:内建函数list(a_sequence)可以将一个序列转为

列表

例1:

>>>strl="dddgf”

»>listl=list(strl)

»>listl

例2:(后面讲)

»>tuplel=(l,2,1)

»>listl=list(tuplel)

»>listl

[1,2,1]

例3:

2.掌握列表相关方法:

2.1append():向列表中追加元素

例如:

2.2extend():追加可迭代对象中所有元素

例1:list2=[l,2,3]

list3=[]

(list2)

例2

2.3insert():在指定索引位置插入

列表也支持索引,例如:

插入例子:

2.4pop():按照索引弹出元素,返回值为该元素。默认弹出最后一个元素。

例如:

2.5remove():按照元素值弹出第一个匹配项

例如:

2.6count():统计指定值出现的次数

2.7index():某个值第一次出现的位置

例如:

2.8reverse():反向存放

例如:

2.9查询遍历:

forIinlist

fori,kenument(list)

2.10sort():排序

3.掌握序列类型操作:序列类型包括:字符串、列表、元组

3.1+连接*重复

例如:

3.2max():求最大值、min():求最小值

例如:

4.掌握列表生成式

列表生成式,是Python内置的一种极其强大的生成list的表达式。

第一章用于:基于已有列表生成新列表

第二章语法结构:

列表生成式的书写格式:[x*xforxinranged,11)]

第一:把要生成的元素X*x放到前面

第二:后面跟上for循环

这样就可以把list创建出来。

for循环后面还可以加上if判断

第三章举例:

1到10之间的偶数平方再除以2作为新列表元素

1到10之间的偶数,作为新列表元素

第四章特点:一次性生成新列表,如果列表数据过大,会消耗大量资源。

1.掌握元组类型

1.1定义元组:

方法一:()

例:tuplel=(l,3,4)

方法二:使用内置函数tuple():将可迭代对象中所有元素作为元组元素

例:

»>listl=[l,2,3]

»>tl=tuple(listl)

»>tl

(1,2,3)

1.2元组的特点

支持异构;

支持嵌套;

不可变:不支持通过索引、切片,进行修改

2.元组的遍历

例如:

3.掌握元组相关方法

index():返回指定元素第一次出现的索引位置

count():指定元素出现的次数

例如:

二、上机练习

练习:

三、本课小结

列表基础知识、列表相关方法、序列类型操作、生成器、元组类型、元组相关方法

学生完成实例操作

课后

反思

时间:

课题运维平台计算机管理实例

教登录模块实现

学添加计算机

目删除计算机

标查询可管理计算机

教学重点登录模块实现

教学难点查询可管理计算机

主要教法讲授演示法+上机操作

教学过程

一、学习任务

运维平台计算机管理实例任务要求与注意事项

二、上机练习

学生上机实操:

提示:

三、任务展示与评价

学生进行展示,完成互评与老师点评

得分

项目分值评价标准

自评组评师评

20编程技巧

程序设计

30调试过程

运行结果30搭建合理稳固

小组配合20小组成员分工及配合方面

总体得分

课后

反思

时间:

课题python字典和集合

掌握字典类型

掌握字典相关方法

掌握字典的遍历

掌握集合类型

掌握集合相关方法

教学重点掌握字典相关方法

掌握字典的遍历

掌握集合类型

掌握字典的遍历

教学难点

掌握集合相关方法

主要教法讲授演示法+上机操作

教学过程

一、新课讲授

1.掌握字典类型

a)字典的特点

无序:通过键实现元素存取,故无序

可变:可以通过键进行改变

异构:支持多种数据类型

嵌套:可以在键值对中的值部分出现字典

b)定义字典:

ii.方法一:{keyl:valuel,key2:value2,...)

iii.方法二:diet。内置函数:指定键值

例:d2=dict(name="jerry",age="45”,gender="m")

关键点:

>键与值用冒号“:”分开;

>项与项用逗号“,”分开;

>字典中的键必须是唯一的,而值可以不唯一

2.掌握字典相关方法

2.1更新或添加元素:dictl[key]=value

例如:

2.2items():变量解包:即将字典转化为键、值作为元组的列表

例如:

2.3keys();键列表

例如:

2.4values():值列表

例如:

2.5has_key():判断是否存在某个键,返回结果true或false

例如:

2.6del删除元素:调用python自身函数删除

例如:

2.71en():取得字典中键值对个数

例如:

2.8update():在原字典上合并字典,键相同时会被覆盖。

例如:

2.9get():取得某个键对应的值

例如:

2.10pop():弹出指定键对应的值

2.11popitem():随机弹出键值对

2.12clear():清除所有元素

例如:

3.掌握字典的遍历:

4.掌握集合类型

4.1什么是集合

无序、互异,

4.2集合的功能及特点

支持成员关系判断

支持迭代

不支持索引,切片

元素唯一

4.3定义集合set

方法一:{元素}

方法二:内置函数set()

例:

5.集合相关方法:

5.11en():元素个数

例如:

5.2add():添加元素

例如:

5.3remove。:删除元素

例如:

5.4update():合并集合

例如:

5.5Pop():随机弹出某个元素

例如:

5.6集合关系操作

5.6.1s|t:s和t的并集

例如:

5.6.2s&t:s和t的交集

例如:

5.6.3s-t:求差集,存在于s集合而不存在于t集合中的

例如:

5.6.4s*t:求对称差集

例如:

二、上机练习

学生上机完成字典类型、字典相关方法、字典的遍历、集合类型、集合相关方法的案例练习。

三、本课小结

字典类型、

字典相关方法、

字典的遍历、

集合类型、

集合相关方法

课后

反思

时间:

课题python文件处理

教掌握如何创建文件对象

掌握open()三种基本模式

掌握open。的附加模式

掌握文件对象的相关方法

掌握文件对象的相关属性

掌握如何创建文件对象

教学重点掌握open()三种基本模式

掌握open。的附加模式

掌握文件对象的相关方法

教学难点

掌握文件对象的相关属性

主要教法讲授演示法+上机操作

教学过程

一、新课讲授

1.掌握如何创建文件对象

a)内置函数open。同file();用于打开文件和创建文件对象,返回文件对象

b)with打开文件:withopenCpassword')asf:#f=file("password')

c)语法格式:open(文件名,模式)

例如:

2.掌握open()三种基本模式

a)r:只读,如果文件不存在,会发生异常

例:

b)w:写入(覆盖原有内容),如果文件不存在,会创建文件

i.例1:password文件内容不为空,以w模式打开:

结果:

ii.创建passwd文件

c)a:附加(从文件尾部追加),如果文件不存在,会创建文件

例如:

3.掌握。pen()的附加模式

a)+:表示同时支持读写aa

b)a+可读写模式,写只能写在文件末尾处

c)w+可读写,与a+的区别是要清空文件内容

d)r+可读写,与a+的区别是可以写到文件任何位置

4.掌握文件对象的相关方法

readline():返回一行

readlinesO:列表类型返回所有行内容

read():指定从文件读取多少字节,不指定字节数则读取全部内容,以字符串形式显

Zj\O

tellO:当前指针在文件中的位置(多少个字节的位置)

seekO:定义文件指针的偏移量

(偏移量,选项)

write():将字符串写入文件

writelines():将字符序列写入

flush():刷新,将数据从缓存区写入文件

sldkjalsjaslkjd

close():关闭文件

例如:

例2:

5.掌握文件对象的相关属性

mode:文件打开模式

name:返回文件名

closed:显示文件是否已关闭掉

例如:

二、上机练习

学生上机完成创建文件对象、open()三种基本模式、open()的附加模式、文件对象

的相关上机练习,熟练完成Python创建文件对象的方法。

三、本课小结

如何创建文件对象、

open()三种基本模式、

open()的附加模式、

掌握文件对象的相关方法

掌握文件对象的相关属性

课后

反思

时间:

课题函数式编程一

掌握什么是函数

掌握函数的定义

掌握函数的调用

掌握函数形参和实参的区别

标了解函数的作用域:什么是作用域、作用域分类

掌握函数的参数:默认参数、关键字参数、可变参数

掌握函数的调用

教学重点

掌握函数形参和实参的区别

了解函数的作用域:什么是作用域、作用域分类

教学难点

掌握函数的参数:默认参数、关键字参数、可变参数

主要教法讲授演示法+上机操作

教学过程

一、新课讲授

1.掌握什么是函数function功能def

函数是python为了代码重用和最小化代码冗余而提供的基本程序结构。

函数将相关功能打包并参数化,将复杂的系统分解成可管理的部件。

2.掌握函数的定义

在这里说明几点:

>在Python中采用def关键字进行函数的定义,不用指定返回值的类型。

>函数参数params可以是零个、一个或者多个,同样的,函数参数也不用指定参

数类型,因为在Python中变量都是弱类型的,Python会自动根据值来维护其类

型。

>return语句是可选的,它可以在函数体内任何地方出现,表示函数调用执行到此

结束;如果没有return语句,会自动返回NONE,如果有return语句,但是ret

urn后面没有接表达式或者值的话也是返回NONEo下面看例子:

例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中默认的是采用位置参数来传参。这样调用函数必须严格按照函数定

义时的参数个数和位置来传参,从左至右进行匹配,否则将会出现预想不到的结

果调用函数时

_author_='Adaini

defusers(username,groupNokia'):

ft=°defabc(name,age=20J§gx|):

list[username]=groupprint'**

return姓三:%s

printusers(*Bob*)

printusers(,Rachel,,*ChinaMoible*)■性另|%S

。5雌

bC:\Python27\python.exeC:/Users/Admixustrator/Py%(08(1)6,3gG,S6X)

{‘Bob':'Nokia'}

_CRacheV:,ChinaMoible,)abC("gaga",3ge=ll)

1默

认参数放后边

6.2关键字参数:调用函数时,使用“name=value”的形式通过参数名指定

通过指定参数名字传递参数的时候,参数位置对结果是没有影响的。关键字参

数最厉害的地方在于它能够给函数参数提供默认值,

参数指定了默认值后,如果传参时不指定参数名,则会从左到右依次进行传参,

关键参数要放在普通参数后面。

例如:

6.3可变参数

6.3.1例1:*args,我们要定义一个函数的时候,必须要预先定义这个函数需要多

少个参数(或者说可以接受多少个参数)。一般情况下这是没问题的,但是

也有在定义函数的时候,不能知道参数个数的情况在Python里,带*的参数

就是用来接受可变数量参数的,这里接收的是元组数据

6.3.2例2:**kwargs,字典作为参数:定义函数时使用**开头的参数,调用时使

用“name=value”的形式,作为传递进来字典的键值对

defsay(**kwargs):

#2fargs.has^keyCname',:

#print'----bargsl'nawe'J

i£kwargsisnotHone:

printkwargs,

else:

print,youneedinputthenuearg*

卜ay(name='ale*',age=22)

麒参数kwargs

C:\Python27\python.exeC:/Users/Administrator/PycharmPr

{‘age':22,‘name':'alex'}

二、上机练习

学生上机完成函数式编程任务,教师巡视指导。

三、本课小结

什么是函数

函数的定义

函数的调用

函数形参和实参的区别

函数的作用域:什么是作用域、作用域分类

函数的参数:默认参数、关键字参数、可变参数

课后

反思

时间:

课题函数式编程二

教递归函数

掌握lambda表达式

enumerate函数序列化

yield函数(迭代)

装饰器

教学重点递归函数

掌握lambda表达式

教学难点enumerate函数序列化

yield函数(迭代)

主要教法讲授演示法+上机操作

教学过程

一、新课讲授

1.递归函数:在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这

个函数就是递归函数;

例1

例2

2.掌握lambda表达式

2.1lambda函数也叫匿名函数,即,函数没有具体的名称,而用def创建的方法是有

名称的

2.2语法:lambda参数:表达式

lambda语句中,冒号前是参数,可以有多个,用逗号隔开,冒号右边的返回值。

lambda语句构建的其实是一个函数对象

2.3举例:

fl=lambdax,y:x+y

fl(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模块及方法:系统相关、目录相关、路径相关、文件相关、

温馨提示

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

评论

0/150

提交评论