《python程序设计》课件 项目五 函数与模块在学生成绩管理系统中的应用_第1页
《python程序设计》课件 项目五 函数与模块在学生成绩管理系统中的应用_第2页
《python程序设计》课件 项目五 函数与模块在学生成绩管理系统中的应用_第3页
《python程序设计》课件 项目五 函数与模块在学生成绩管理系统中的应用_第4页
《python程序设计》课件 项目五 函数与模块在学生成绩管理系统中的应用_第5页
已阅读5页,还剩97页未读 继续免费阅读

下载本文档

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

文档简介

8435759项目五

函数与模块在学生成绩管理系统中的应用xx学院-XX学院《python程序设计》

字符串&正则表达式e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF课前复习:1.在Python中,字符串是由字符组成的序列,而在计算机中字符是由编码来表示的。Python3中,字符串是由Unicode字符组成的。字符串的编码是将Unicode字符串转换为特定编码(如UTF-8、ASCII等)的字节序列的过程。解码是编码的逆过程,即将字节序列转换回Unicode字符串。2.Python中的字符串是不可变的,是由单个字符组成的不可变序列,可以通过索引进行访问。字符串的特点是:不可变性(一旦创建,字符串不能被更改或删除)、序列性(有序序列)、可索引(可以使用正数索引和负数索引来访问字符串中的字符)、可切片(可以使用切片操作来获取字符串的子串)。3.正则表达式的元字符.*+?^${}[]\|()具有特殊含义,而且可以根据应用需求结合使用,特别是以\开头的表达式具有特殊含义,例如\d等价于字符类[0-9],在使用中根据应用需求灵活应用。

字符串&正则表达式e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF课前复习:4.re模块是Python用来处理正则表达的模块,是Python处理文本的标准库。其中re.search()、re.match()、re.fullmatch()均是查找一个匹配项,re.search()查找任意位置的匹配项,re.match()必须从字符串开头匹配,re.fullmatch()需要整个字符串与正则完全匹配。5.查找多个匹配项可以采用re.findall()和re.finditer(),从字符串任意位置查找,re.findall()返回一个列表,re.finditer()从字符串任意位置查找,返回一个迭代器。6.替换采用re.sub()和re.subn(),支持正则替换,re.sub()在一个字符串中替换所有匹配正则表达式的子串,返回替换后的字符串,re.subn()与re.sub函数功能一致,只不过返回一个元组(字符串,替换次数)。7.编译正则对象用pile(),将正则表达式的样式编译为一个正则表达式对象(正则对象Pattern),这个对象与re模块有同样的正则函数。e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF【项目综述】在项目四中,利用Python的字符串与正则表达式改写学生成绩管理系统中的代码,使程序更健壮。但是在对于每项录入数据进行清洗和验证时,都是直接运用代码进行清洗和验证,这样同样的代码在多处使用,显得程序代码臃肿,也不利于阅读。本项目将学习Python的函数和模块,并在此基础上改写和完善学生成绩管理系统。e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF【学习目标】能描述Python函数的特点、功能、应用领域、函数的参数以及变量的作用域。能根据需求定义函数解决常见生产和生活中的具体问题。能创建Python模块和包,并能在程序中导入编制的模块和包、利用包和模块技术编写学生成绩管理系统程序。了解信息安全在国家安全中的重要性,养成自觉维护网络安全,保护个人信息,将自己的行为融入到国家安全的行动中,并不断提升自己的职业素养,使自己成为乐观、向上,具有良好职业意识的人。e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF【重点和难点】【知识重点】1.Python函数的特点、功能、应用领域、函数的参数以及变量的作用域。2.Python模块和包。【知识难点】Python函数变量的作用域以及编写函数解决应用中的问题。e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF【学习内容】任务一

利用Python函数编写学生成绩管理系统程序任务二Python模块在学生成绩管理系统中的应用e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序在项目四中,利用Python的正则表达式对录入的学生信息(学生姓名和学生专业)进行清洗和过滤,使用的代码是一样的,但是每次输入信息均需要使用该代码,实际上可以采用函数定义该代码,每次调用函数就可以解决该问题。因此本任务学习Python函数的特点、功能、应用领域、函数的参数以及变量的作用域,并在此基础上利用Python函数改写学生成绩管理系统,使代码更加整洁并得到复用。【任务描述】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序1.Python函数Python函数的应用非常广泛,前面模块中的input()、print()、range()、len()等函数,都是Python的内置函数,可以直接使用。除了可以直接使用的内置函数外,Python还支持自定义函数,即将一段有规律的、可重复使用的代码定义成函数,从而达到一次编写、多次调用的目的。【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序1.Python函数

(1)定义函数定义Python函数,需要用def关键字实现,具体的语法格式为:def函数名(参数列表)://函数体,实现特定功能的代码块[return[返回值]]【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序1.Python函数

(1)定义函数该函数定义方法用def作为关键词,函数名称为sec_pub,参数列表为空,没有参数,函数体中只有一条语句,调用Python内置函数print(),该函数没有定义返回值。【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序1.Python函数

(1)定义函数该代码定义了add(c1,c2)函数,实现2个字符串的合并功能,该函数参数列表中有2个参数,通过return返回2个参数的加运算。由于Python是面向对象的语言,具有多态性,无须定义数据类型,能自动适配数据类型,实际该函数也可以计算2个数字、元组、列表的加运算。【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序1.Python函数

(2)函数调用调用函数也就是执行函数。def语句在执行时会创建一个对象,函数名是一个变量,它引用def语句创建的函数对象,可将函数名赋值给变量。使用变量引用该函数。函数调用的基本语法格式如下:[返回值]=函数名([形参值])【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序1.Python函数

(2)函数调用【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序1.Python函数

(3)为函数提供说明文档编制的函数一般要编写函数的参数列表的数据类型和含义,以及函数的返回值情况,方便其他程序员使用该函数。例如调用Python的help()内置函数或者doc属性,可以查看某个函数的使用说明文档。在自定义的函数中通过在代码的前面放置函数说明信息实现为函数提供说明文档。【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序1.Python函数

(3)为函数提供说明文档【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序2.函数的参数

自定义的函数大多选择有参数的函数形式,函数参数的作用是传递数据给函数,使其对接收的数据做期望的操作处理。函数定义参数列表中的参数称为形式参数,简称形参,调用函数时,参数列表中提供的参数称为实际参数,简称实参。实参可以是常量、表达式或者变量。【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序2.函数的参数

(1)常量作为实参【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序2.函数的参数

(2)变量作为实参【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序3.函数参数传递方式Python中,函数参数传递是赋值传递(passbyassignment)的,或者叫做对象的引用传递(passbyobjectreference)。Python里所有的数据类型都是对象,所以参数传递时,是让新变量与原变量指向相同的对象。Python中,根据实际参数的类型不同,实参类型有不可变类型和可变类型。不可变类型例如整数(int)、浮点数(float)、字符串(str)、元组(tuple)等,不可变变量的值一旦创建,就不能被修改。如果修改一个不可变对象的值,Python将会创建一个新的对象。可变类型如列表(list)、字典(dict)、集合(set)等,可变变量的值可以在原地修改,而不会创建新的对象。【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序3.函数参数传递方式

(1)函数参数为不可变类型【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序3.函数参数传递方式

(1)函数参数为不可变类型(2)函数参数为可变类型【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序3.函数参数传递方式

(1)函数参数为不可变类型(2)函数参数为可变类型【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序4.Python函数位置参数

函数位置参数,指的是调用函数时传入实际参数的数量和位置都必须和定义函数时保持一致,传多传少都会造成Python解释器抛出TypeError异常,并提示缺少必要的位置参数。(1)正常输入参数的情况当按照函数的参数列表正常输入参数时,函数正常运行,输出期望的结果。【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序4.Python函数位置参数

(2)传少参数的情况当调用函数时,缺少参数时,Python解释器抛出TypeError异常。【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序4.Python函数位置参数

(3)传多参数的情况当调用函数时,传多参数时,Python解释器同样会抛出TypeError异常。【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序4.Python函数位置参数

(4)传入错误类型参数情况当调用函数时,传入错误类型参数时,Python解释器同样会抛出TypeError异常【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序4.Python函数位置参数

(5)传入参数位置错误情况调用函数时,如果指定的实际参数和形式参数的位置不一致,但它们的数据类型相同,那么程序将不会抛出异常,但可能运行结果和预期不符。【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序5.Python关键字参数

(1)关键字参数方式传入函数求梯形面积的程序中,参数位置错误造成输出结果错误,采用关键字参数传递,避免错误发生,而且在使用关键字参数调用时,可以任意调换参数传参的位置。【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序5.Python关键字参数

(2)混合方式传入参数可以使用位置参数和关键字参数混合传参的方式,但需要注意,混合传参时关键字参数必须位于所有的位置参数之后,关键字参数的顺序没有要求。【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序6.默认参数

(1)使用默认参数代码中定义dis_str()函数,并定义了一个默认参数,当采用不指定形参调用该函数时,将默认传递函数定义的默认参数,当指定具体的实参时,将使用给定的实参运行。【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序6.默认参数

(2)默认参数、位置参数与关键字参数混合使用代码中定义dis_str()函数定义了2个参数,str2为默认参数,当调用函数时,只给一个位置参数,则函数会把位置参数赋给第一个形参,另一个采用默认参数;当给2个参数,函数会将给定的实参覆盖函数原定义的默认参数;当使用关键字参数时,关键字参数会覆盖函数原定义的默认参数。【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序6.默认参数

(3)默认值参数位置问题当定义一个有默认值参数的函数时,有默认值的参数必须位于所有没默认值参数的后面。【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序6.默认参数

(3)默认值参数位置问题代码中dis_str()函数的str1参数放置在第三个位置测试,调用函数时,顺利执行。【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序6.默认参数

(3)默认值参数位置问题对于自己自定义的函数,可以轻易知道哪个参数有默认值,但如果使用Python提供的内置函数,或者其它第三方提供的函数,怎么知道哪些参数有默认值呢?在Pyhton中,可以使用“函数名.__defaults__”查看函数的默认值参数的当前值,其返回值是一个元组。【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序7.不定长参数

不定长参数是指在定义函数时,不确定函数将会接受多少个参数。不定长参数分为两种:不定长位置参数和不定长关键字参数。不定长位置参数是指在调用函数时,可以传入任意个数的参数。这些参数在函数内部被视为一个元组。使用*操作符来定义不定长位置参数。不定长关键字参数是指在调用函数时,可以传入任意个数的关键字参数。这些参数在函数内部被视为一个字典。使用**操作符来定义不定长关键字参数。通常将*参数写为*args,将**参数写为**kwargs。这是一种公认的规范写法。其语法格式为deffun(*args,**kwargs)。【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序7.不定长参数

(1)Python函数不定长参数结构【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序7.不定长参数

(2)不定长位置参数*args的使用方法【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序7.不定长参数

(3)不定长位置参数**kwargs的使用方法【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序7.不定长参数

(4)*args和**kwargs参数位置问题函数不定长参数*args和**kwargs只能放在形参的末尾,顺序不能错,否则会出现语法错误。【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序8.函数变量的作用域

函数变量的作用域(Scope),是指变量的有效范围,就是变量可以在哪个范围以内使用。有些变量可以在函数内部和外部的任意位置使用,有些变量只能在函数内部使用,有些变量只能在for循环内部使用。Python中有四种类型的作用域:

Local(局部):在函数内部,由def关键字定义的局部作用域内。

Enclosing(嵌套):在嵌套函数中,外部函数的作用域,与Local作用域相对。

Global(全局):在模块级别(程序文件)定义的作用域内,可以在函数内部直接访问。

Built-in(内置):Python内置模块的作用域,如len、str等。【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序8.函数变量的作用域

(1)Python函数局部变量在函数内部定义的变量,它的作用域仅限于函数内部,出了函数就不起作用,将这样的变量称为局部变量(LocalVariable)。当函数被执行时,Python会为函数分配一块临时的存储空间,所有在函数内部定义的变量,都会存储在这块空间中。而在函数执行完毕后,这块临时存储空间随即会被释放并回收,该空间中存储的变量也就无法再被使用。【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序8.函数变量的作用域

【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序8.函数变量的作用域

在函数内部定义的变量属于局部变量,函数的参数也属于局部变量,只能在函数内部使用。【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序8.函数变量的作用域

(2)Python函数全局变量除了在函数内部定义变量,Python还允许在函数的外部定义变量,这样的变量称为全局变量(GlobalVariable)。和局部变量不同,全局变量的默认作用域是整个程序,即全局变量既可以在每个函数的外部使用,也可以在各函数内部使用。【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序8.函数变量的作用域

(2)Python函数全局变量定义全局变量有2种方式:在函数体外定义的变量属于全局变量,或者在函数体内使用global关键字对变量进行修饰,该变量也是全局变量。【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序8.函数变量的作用域

(3)获取指定作用域范围中变量的方法在一些特定场景中,需要获取某个作用域内(全局范围内或者局部范围内)所有的变量,Python提供了以下三种方式:①globals()函数。globals()函数为Python的内置函数,它可以返回一个包含全局范围内所有变量的字典。globals()函数返回的字典中,默认会包含Python主程序内置的变量和用户自定义的全局变量。通过globals()函数,可以访问指定变量,甚至还可以修改变量的值。【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序8.函数变量的作用域

(3)获取指定作用域范围中变量的方法17和18行代码,对代码中name全局变量访问和修改。【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序8.函数变量的作用域

(3)获取指定作用域范围中变量的方法②locals()函数。例如5~12行定义的fun5()函数,其中第11行代码对fun5()函数中netname变量修改,第12行打印输出,netname变量的值并没有变化。【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序8.函数变量的作用域

(3)获取指定作用域范围中变量的方法③vars(object)。vars()函数也是Python内置函数,其功能是返回一个指定object对象范围内所有变量组成的字典。如果不传入object参数,vars()和locals()的作用完全相同。图中第14~16行代码定义了Sec_group类,第27行代码通过vars()函数输出了Sec_group类的属性。【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序9.lambda函数(匿名函数)

lambda函数又称匿名函数,适合定义简单的函数,与def不同,lambda只是一个表达式,不是一个代码块,函数体比def简单很多,仅仅能在lambda表达式中封装有限的逻辑。lambda函数拥有自己的命名空间,不能访问自有参数列表之外或全局命名空间里的参数。lambda函数的语法只包含一个语句,语法如下:name=lambda[arg1[,arg2,.....argn]]:expression其中,lambda是关键字;[list]作为可选参数,等同于定义函数是指定的参数列表;name为该表达式的名称,expression为表达式。【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序10.递归函数在计算机科学中,递归是一种重要的概念和技术。Python作为一门强大而灵活的编程语言,也提供了递归函数的支持。Python函数的本身包含函数的定义,传入参数以及函数体中代码,其中函数体中的代码可以调用其它函数,也可以调用自己,这种自己调用自己的函数被称为递归函数。【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序10.递归函数(1)认识递归函数【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序10.递归函数该函数实际是计算阶乘的递归函数,例如计算阶乘公式,把一个相对复杂的问题,转化为规模小的问题,一般抽象成一个数学模型,转换成小问题,例如代码计算数的阶乘,设计一个终止条件,当n等0时,计算结果是1,当n不等0时,计算n*((n-1)!),也就是计算n乘(n-1)的阶乘。转换成这样的模型后,如果计算n的阶乘,需要计算(n-1)的阶乘,如果计算(n-1)的阶乘,需要计算(n-2)的阶乘,依次计算下去,重复执行该相同的计算方法,直到n等0,计算终止,返回1。【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序10.递归函数类似问题通过程序代码实现,可以通过定义一个函数,在函数体中调用自己实现将问题的结果计算出来,这就是递归的思想。从解决该类问题思路上看,递归函数的设计需要一个递归的终止条件,称为递归基(basecase),这是递归函数停止调用自身并返回结果的条件,不然递归下去就成为死循环了。另外还需要递归部分(recursivecase),就是通过修改函数的参数调用自己,处理较小的问题。【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序10.递归函数对于一个完整的递归函数应用,还需要对递归函数返回的结果进行处理,例如对图5-32代码修改,添加递归函数返回值处理,如图5-33所示,打印函数返回值。【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序10.递归函数(2)递归函数的调用过程分析代码中,计算5的阶乘,需要计算4的阶乘(4!),要计算4的阶乘需要计算3的阶乘(3!),要计算3的阶乘需要计算2的阶乘(2!),要计算2的阶乘需要计算1的阶乘(1!),计算1的阶乘时会调用参数n为0的fact(0)函数,函数返回1。整个过程如下:fact(5)=5∗fact(4)=5∗4∗fact(3)=5∗4∗3∗fact(2)=5∗4∗3∗2∗fact(1)=5∗4∗3∗2∗1=120,如果用图形表示其过程如图5-34所示。【知识准备】e7d195523061f1c029d8a470330beef7eecbf578a74c67be34E755975358C32C42B60046E65E5AB2B817CFACDA70963A03272FA99D31C85E250EFEC4061BFB07F05F931B289192FCB8E0285A555C1F230D307BE5C25C0A023A9868BE4DC722F304C024870D51F93B1C73F8B0BFA1FC623C98224856AC19AACB53BF009612A79383772CE3D9D4DAA720XX.037AAAD45827A9CF任务一

利用Python函数编写学生成绩管理系统程序对录入的学生信息(学生姓名和学生专业)以及对于学生课程成绩信息进行清洗和过滤,使用的代码是一样,均可以编制函数实现。1.编写字符串处理工具函数编写字符串处理工具函数,实现清洗用户输入的特殊字符和多余空格,可以用到学生信息输入和学生课程成绩输入的字符清洗中。在项目四任务二中使用re.sub()方法去除字符串两端的多余空格(包括制表符、换行符等),并添加''.join(cleaned.split()方

温馨提示

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

评论

0/150

提交评论