《大数据分析技术应用》课件-项目二 疫苗物流信息监测系统项目_第1页
《大数据分析技术应用》课件-项目二 疫苗物流信息监测系统项目_第2页
《大数据分析技术应用》课件-项目二 疫苗物流信息监测系统项目_第3页
《大数据分析技术应用》课件-项目二 疫苗物流信息监测系统项目_第4页
《大数据分析技术应用》课件-项目二 疫苗物流信息监测系统项目_第5页
已阅读5页,还剩147页未读 继续免费阅读

下载本文档

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

文档简介

项目背景|项目概述|学习目标|任务实施步骤疫苗物流信息监测1.系统实现【数据分析Python项目化实践】01101111011010111101010000101101010100111101背景先导项目概述项目学习目标任务实施步骤01Background02BriefIntroduction03LearningObjectives04ImplementationSteps主要内容民生健康,筑牢幸福生活的基石民生健康是社会发展的基石,它不仅关系到每个人的福祉,也是衡量一个国家和地区综合实力的重要指标。人民幸福的基础社会稳定的保障社会主义核心价值观的实践经济发展的支撑国家竞争力的体现应对突发公共卫生事件的能力不同地区居民慢性病患病率数据来源:2022中国卫生健康统计年鉴在2008年至2018年间,地区居民慢性病患病率呈现上升趋势。这些数据反映了城乡生活方式和医疗保健等方面的差异,对公共卫生策略和资源分配具有重要影响。疫苗在民生健康中的重要性预防疾病保护易感人群控制传染病流行降低医疗负担疫苗在民生健康中发挥着至关重要的作用。作为预防疾病的有力手段,疫苗通过激活人体免疫系统,为我们提供了抵御各种传染病的屏障。疫苗的普及和接种率的提高,尤其是在抗击新冠病毒的全球努力中,已经证明了其对于保护公共健康和防控疾病传播的巨大价值。项目三维目标理解函数的基本概念,掌握Python函数的定义及其组成部分;

(重点:《Python程序开发职业技能等级标准》初级1.2.5)熟练掌握函数参数传递的机制,包括位置参数、关键字参数、默认参数等,了解参数传递过程中的可变参数和关键字可变参数的使用;了解函数返回值的含义和作用,掌握定义具有返回值的函数的方法;认识Python中的匿名函数(lambda函数),了解其适用场景。知识目标能力目标素质目标证项目三维目标会定义和调用Python函数解决实际问题;

(重点:《Python程序开发职业技能等级标准》初级1.2.5)会使用Python实现递归函数;

(难点:《Python程序开发职业技能等级标准》初级1.2.5)会使用Python内置函数提高代码效率。知识目标能力目标素质目标证011011110110101111010111100100001011010101001111101证项目三维目标通过函数编程的实践练习,提升逻辑思维和问题分析能力;在技术学习的过程中,增强对公共卫生政策的理解和支持,认识到疫苗物流的高效与安全对公共健康的重要性;具备团队协作精神,学会在项目中与他人有效沟通共同完成系统的开发与完善。能力目标素质目标知识目标011011110110101111010111100100001011010101001111101项目总体要求

疫苗物流信息监测系统实现本项目运用Python基本语法和函数语法设计开发疫苗物流信息监测系统,包括管理员登陆功能的实现、疫苗数据添加功能的实现、疫苗信息统计功能的实现、疫苗物流信息异常检测功能的实现。011011110110101111010111100100001011010101001001111012.函数的概念知识学习目标01121110110101101101001001100110101010010011011010010110010111011010100110111010101010101101010011010010

了解函数的作用

了解函数的概念

掌握函数的基本结构

了解函数的分类

掌握函数的执行过程01121110110101101101001001100110101010010011011010010110010111011010100110111010101010101101010011010010函数的概念

函数是编程语言中的一种基本结构,它将一系列执行特定任务的代码封装在一起,可以接收输入参数并返回处理结果。通过定义函数,我们能够实现代码的模块化、复用性和抽象性,使得程序结构更加清晰,便于维护和扩展。简而言之,函数是编程中用于组织和简化代码逻辑的关键工具。010010011001101010100100110110100101110101000100001011011101001010101101010011010010函数的基本结构函数在执行任务时可能需要的数据,称为参数。参数可以是零个或多个。包含一系列执行具体任务的语句。函数执行完成后,可以返回一个结果。有些函数可能没有返回值。用于标识函数的唯一名称。函数名参数列表函数体返回值大多数编程语言中,函数通常包括以下部分:函数的作用函数允许开发者将一段代码封装起来,以便在需要时多次调用,避免了代码的重复编写。代码复用函数帮助将复杂程序分解为多个小的、可管理的模块,每个模块负责一个具体的功能,便于程序的组织和维护。模块化通过将代码逻辑封装在函数中,并给予有意义的命名,可以显著提高代码的可读性和可维护性。可读性和可维护性函数提供了一个抽象层,隐藏了内部实现的细节,使得其他部分的代码只需关注如何使用函数,而不必了解其具体实现。抽象化函数的作用函数允许开发者将一段代码封装起来,以便在需要时多次调用,避免了代码的重复编写。代码复用函数帮助将复杂程序分解为多个小的、可管理的模块,每个模块负责一个具体的功能,便于程序的组织和维护。模块化通过将代码逻辑封装在函数中,并给予有意义的命名,可以显著提高代码的可读性和可维护性。可读性和可维护性函数提供了一个抽象层,隐藏了内部实现的细节,使得其他部分的代码只需关注如何使用函数,而不必了解其具体实现。抽象化函数的作用函数允许开发者将一段代码封装起来,以便在需要时多次调用,避免了代码的重复编写。代码复用函数帮助将复杂程序分解为多个小的、可管理的模块,每个模块负责一个具体的功能,便于程序的组织和维护。模块化通过将代码逻辑封装在函数中,并给予有意义的命名,可以显著提高代码的可读性和可维护性。可读性和可维护性函数提供了一个抽象层,隐藏了内部实现的细节,使得其他部分的代码只需关注如何使用函数,而不必了解其具体实现。抽象化函数的作用函数允许开发者将一段代码封装起来,以便在需要时多次调用,避免了代码的重复编写。代码复用函数帮助将复杂程序分解为多个小的、可管理的模块,每个模块负责一个具体的功能,便于程序的组织和维护。模块化通过将代码逻辑封装在函数中,并给予有意义的命名,可以显著提高代码的可读性和可维护性。可读性和可维护性函数提供了一个抽象层,隐藏了内部实现的细节,使得其他部分的代码只需关注如何使用函数,而不必了解其具体实现。抽象化函数的分类内置函数自定义函数内置函数是编程语言预先定义好的一组函数,它们是语言标准库的一部分,无需用户另外定义即可直接使用。这些函数通常涵盖了常见的数学运算、类型转换、输入输出处理等基本操作,它们简化了编程过程,提供了直接执行常见任务的工具,从而提高了开发效率。自定义函数是程序员根据特定需求,自行设计并实现的函数,它允许开发者将特定的代码逻辑封装起来,以便在程序中重复使用或实现特定的功能。通过自定义函数,可以更好地组织代码结构,实现代码的模块化,隐藏实现细节,并提高代码的可读性和可维护性。函数的分类以下是部分常用的内置函数及其说明。内置函数说明内置函数说明abs()求绝对值str([object])类型转换为字符串型float([x])类型转换为浮点型len(s)返回序列的长度int([x[,base]])类型转换为整型type(object)返回该object的类型pow(x,y[,z])求x的y次幂input([prompt])获取用户输入range([start],stop[,step])产生一个序列,默认从0开始print(...)打印dict([arg])创建一个字典open(name[,mode[,bufffering]])打开文件set()创建一个集合bool([x])类型转换为布尔型函数的执行过程函数是一段被命名的、可重复使用的代码块,它通过定义来指定一系列执行特定任务的步骤,并在需要时通过调用该函数名来执行这些步骤。在定义函数时,可以指定参数列表来接收输入数据,并在函数体内部实现相应的逻辑处理;调用函数时,只需提供相应的参数值,函数就会按照定义好的逻辑执行,并可能返回一个结果,从而实现代码的模块化和复用。e.g.defmain():message=greet("Alice")print(message)maingreetprint①②③④⑤⑥不急后续会有操作应用实例哦~1.函数的概念2.函数的基本结构3.函数的作用4.函数的分类5.函数的执行过程小结011211101101011011010010011001101010100100110110100101100101110110101001101110101010101011010100110100103.实现管理员登陆功能任务实施【大数据分析技术应用】课程疫苗物流信息监测系统实现能够定义全局变量;能够正确定义函数;能够正确调用函数能力目标主要内容任务工单任务说明引导问题任务评价任务解决方案使用Python创建问卷任务工单通过函数定义和调用实现疫苗物流信息监测系统的管理员登录功能。该函数能够接收用户输入用户名和密码,验证用户名和密码的有效性。任务概述

任务描述:设计并实现管理员登录功能,要求使用函数完成功能。010010011001101010100100110110100101110101000100001011011101001010101101010011010010(1)函数是什么?在程序中使用函数定义有什么好处?(2)定义和调用函数的语法分别是什么?(3)定义函数时,函数名需要满足什么要求?(4)函数定义和函数调用的代码位置有什么要求?(5)函数体代码能否不进行函数定义而插入到调用点?需要做出哪些改变?”

问题引导:任务概述

任务评价:任务概述评价内容评价要点分值分数评定自我评价1.任务实施定义全局变量2分正确定义管理员用户名变量得1分,正确定义管理员密码变量得1分

定义管理员登录函数4分正确编写函数定义语法得1分,正确实现接收用户名和密码输入得1分,正确实现用户名和密码验证得1分,正确输入结果得1分

调用管理员登录函数1分正确调用管理员登录函数得1分

2.结果展现运行程序2分输入正确的用户名和密码,能够输出“登录成功!”并正常退出程序,得1分;输入错误的用户名和密码,能够输出“用户名或密码错误,请重试!”并循环接收用户输入,得1分

3.任务总结依据任务实施情况总结结论1分总结内容切中本任务的重点要点得1分

合计10分

任务解决方案选择合适且熟悉的IDE,创建Python脚本。使用pycharm创建Python项目任务解决方案定义全局变量,用于保存管理员用户名和密码。username='admin'password='admin123'任务解决方案定义管理员登录函数login()。该函数接收用户输入管理员用户名和密码,并验证用户输入的用户名和密码与预定义的用户名和密码是否匹配,如果匹配,则打印“登录成功!”,并退出函数的运行;否则,打印“用户名或密码错误,请重试!”,并循环接收用户重新输入管理员用户名和密码。#管理员登录功能deflogin():whileTrue:u=input("请输入你的用户名:")p=input("请输入你的密码:")ifu==usernameandp==password:print("登录成功!")returnprint("用户名或密码错误,请重试!")任务解决方案在顶级代码块中打印一些欢迎信息,然后调用login()函数。print('****************************')print('**欢迎使用疫苗管理系统**')print('********请登录*********')print('****************************')login()任务解决方案保存脚本文件并运行,输入正确的用户名和密码。执行结果任务解决方案重新运行脚本,输入错误的用户名和密码。执行结果小结1.如何定义函数?2.

如何调用函数?不急后续会有详细说明与讲解哦~011011110110101111010111100100001011010101001001111014.函数的定义知识目标01121110110101101101001001100110101010010011011010010110010111011010100110111010101010101101010011010010掌握函数定义的语法了解函数定义的各个组成部分了解函数定义的注意事项函数定义的语法def函数名(参数列表):"""文档字符串(docstring):用于解释函数的作用,可省略"""#函数体#执行的操作return返回值#返回值是可选的在Python中,使用def关键字来定义函数。函数的基本结构如下。函数定义的各个组成部分函数名参数列表文档字符串函数体应该能够反映函数的功能,遵循小写字母和下划线的命名规则。括号内可以包含零个或多个参数,参数之间用逗号分隔。参数是函数运行时接收外部数据的变量。位于函数定义下方的第一个字符串,通常用三引号括起来,用于描述函数的作用。由缩进代码块组成,包含执行特定任务的代码。返回值使用return关键字返回结果。如果没有return语句,函数执行完毕后也会返回一个特殊值None。示例defprint_welcome_message():"""打印欢迎信息到控制台"""print("欢迎来到Python编程世界!")print_welcome_message是一个无参数的Python函数,其功能是向控制台输出一条欢迎信息“欢迎来到Python编程世界!”。这个函数不接收任何输入,也不返回任何值,仅仅执行打印操作,用于向用户展示一个友好的问候。示例defgreet(name):"""打印问候语:paramname:要问候的人的名字"""return"你好,"+name+"!"greet是一个Python函数,它接收一个名为`name`的参数,用于表示要问候的人的名字。函数的功能是构造一个包含这个名字的问候语字符串,并以“你好,”作为前缀,以“!”作为后缀。构造完成后,该字符串作为返回值被返回,但不直接打印到控制台。调用这个函数时,需要提供一个人名作为参数,然后可以获取到一个个性化的问候语。函数定义的注意事项函数名应遵循小写字母和下划线的命名规则,使其具有可读性和易于理解。避免使用Python的保留关键字作为函数名。最好为每个函数编写清晰的文档字符串,描述函数的目的、参数、返回值以及可能抛出的异常。这有助于其他开发者理解和使用你的函数。在定义函数时,应明确参数的类型和用途。如果函数不需要接收任何参数,应确保参数列表为空。函数应该有明确的返回值。如果没有返回值,确保不使用return语句,或者使用returnNone来明确表示函数结束且没有返回值。不急后续还有函数的调用哦~小结011211101101011011010010011001101010100100110110100101100101110110101001101110101010101011010100110100101.函数定义的语法2.函数定义的各个组成部分3.函数定义的注意事项011011110110101111010111100100001011010101001001111015.函数的调用知识目标01121110110101101101001001100110101010010011011010010110010111011010100110111010101010101101010011010010掌握函数调用的语法了解函数调用的注意事项了解嵌套调用的含义和方法函数调用的语法函数名(参数列表)在Python中,调用一个函数非常简单,只需使用函数名后面跟着一对括号,如果函数需要参数,则将它们放在括号内,用逗号分隔。示例defgreet():print("你好,世界!")greet()#调用函数,输出:你好,世界!定义一个名为greet的函数输出字符串"你好,世界!"调用greet()函数,当执行程序到这里,将会执行greet()函数的函数体示例defadd(a,b):returna+bresult=add(3,5)print(result)定义一个名为add的函数,接受两个参数a和b返回a和b的和调用add()函数,并传递了两个参数3和5。当程序执行到这里,会计算3和5的和,结果赋值给result函数调用的注意事项确保传递给函数的参数类型和数量与函数定义匹配。defadd(a,b):returna+bresult=add()result=add(3,"5")参数列表不匹配。这会导致一个TypeError错误。传递了不匹配的参数类型。这也会导致一个TypeError错误。函数的嵌套调用函数的嵌套调用是指在一个函数的执行过程中调用另一个函数。被调用的函数可以是同一个函数(递归调用)或不同的函数。嵌套调用可以帮助简化代码结构,提高代码的可读性和可维护性。defmultiply(a,b):returna*bdefadd_and_multiply(x,y,z):sum_result=x+yreturnmultiply(sum_result,z)result=add_and_multiply(2,3,4)print(result)#输出:20实践一下,看看执行结果吧~函数的嵌套调用result=add_and_multiply(2,3,4)add_and_multiplymultiplyprint(result)①②③④不急后续会有操作应用实例哦~小结011211101101011011010010011001101010100100110110100101100101110110101001101110101010101011010100110100101.函数调用的语法2.函数调用的注意事项3.函数的嵌套调用6.添加疫苗数据任务实施【大数据分析技术应用】课程疫苗物流信息监测系统实现能够正确定义疫苗数据添加函数;能够正确调用疫苗数据添加函数;能够正确引用不同作用域的变量;能够正确返回函数结果能力目标主要内容任务工单任务说明引导问题任务评价任务解决方案使用Python创建问卷通过函数定义和调用实现疫苗物流信息监测系统的疫苗数据添加功能。该函数依次接收用户输入疫苗名称、批次号、数量、生产日期、有效期和物流信息列表,将所有用户输入的信息整合为一个字典,并将该值作为函数返回值返回。设计程序调用该函数,接收返回值,将其保存到疫苗物流数据信息列表中。任务概述

任务描述:(1)设计并实现疫苗数据添加功能,能够接收用户输入的字段信息;(2)创建一条疫苗物流数据信息,将其保存到疫苗物流数据信息列表中。010010011001101010100100110110100101110101000100001011011101001010101101010011010010任务概述010010011001101010100100110110100101110101000100001011011101001010101101010011010010任务工单任务概述010010011001101010100100110110100101110101000100001011011101001010101101010011010010(1)函数返回值的意义是什么?(2)函数返回的语法是什么?(3)什么是变量的作用域?(4)定义在函数体内的变量和定义在函数体外的变量有什么区别?”

问题引导:任务概述

任务评价:任务概述评价内容评价要点分值分数评定自我评价1.任务实施定义疫苗数据添加函数5分能够正确接收用户输入疫苗名称、批次号、数量、生产日期、有效期,得5分;能够正确接收用户输入物流信息并存入列表,得2分;能够正确创建疫苗物流数据字典变量,得1分;能够正确返回疫苗物流数据变量,得1分

定义全局变量1分能够正确定义疫苗物流数据信息列表全局变量,得1分

接收用户输入指令1分能偶正确编写接受用户指令的代码逻辑,得1分

调用疫苗添加函数并保存结果1分能够正确调用疫苗添加函数,并将返回结果保存到疫苗物流数据信息列表中,得1分2.结果展现运行程序1分程序能够正常执行,且能正常接收用户输入,得1分

3.任务总结依据任务实施情况总结结论1分总结内容切中本任务的重点要点得1分

合计10分

任务解决方案选择合适且熟悉的IDE,打开任务1的脚本文件,继续编辑代码。任务解决方案defcreate_vaccine():定义疫苗数据添加功能函数create_vaccine(),首先定义函数头。编写函数体。依次接收用户输入疫苗名称、疫苗批次号、疫苗数量、生产日期和有效期。name=input("请输入疫苗的名称:")batch=int(input("请输入疫苗的批次:"))quantity=int(input("请输入疫苗的数量:"))production_date=input("请输入疫苗的生产日期(格式为YYYY-MM-DD):")expiration_date=input("请输入疫苗的有效期(格式为YYYY-MM-DD):")任务解决方案

每一批次的疫苗的物流信息包含了该批次疫苗在其一整个物流过程中所有中途停靠点及其抵达时间的信息。因此,物流信息是一个列表。程序循环接收用户输入每一条中途停靠点的信息,包括中途停靠地点和停靠时间,将这两个数据封装成一个元组值,然后添加进物流信息列表中。

程序循环接受用户输入数据,直到用户输入“Q”则退出循环。logistics=[]#物流信息列表whileTrue:location=input("请输入疫苗的运输地点(输入Q退出):")iflocation=="Q":breaktime=input("请输入疫苗的运输时间(格式为YYYY-MM-DD):")logistics.append((location,time))接收用户输入物流信息。任务解决方案vaccine={'name':name,'batch':batch,'quantity':quantity,'production_date':production_date,'expiration_date':expiration_date,'logistics':tuple(logistics)}将用户输入的所有信息封装成一个字典值并保存为一个变量。其中,为了保证物流信息能正常保存,需要将其转换为不可变的元组值。任务解决方案returnvaccine将vaccine变量返回。在顶级代码块中,定义全局变量vaccines,用于保存所有疫苗物流数据信息。vaccines=[]编写如下代码,循环接收用户的指令。whileTrue:command=int(input('''1-添加疫苗2-统计疫苗3-退出系统请输入你要执行的操作:'''))ifcommand==1:vaccine=create_vaccine()vaccines.append(vaccine)print("疫苗数据添加成功!")else:print("暂未实现,请重新输入。")任务解决方案保存脚本文件并运行,输入指令1,然后输入疫苗物流数据信息。任务解决方案保存脚本文件并运行,输入指令1,然后输入疫苗物流数据信息。执行结果小结1.如何定义疫苗数据添加函数?2.如何调用调用疫苗数据添加函数?3.如何定义和使用不同作用域的变量?4.在函数体中如何返回结果?不急后续会有详细说明与讲解哦~011011110110101111010111100100001011010101001001111017.函数的返回知识目标01121110110101101101001001100110101010010011011010010110010111011010100110111010101010101101010011010010掌握函数返回的语法掌握函数返回值的类型

掌握多个返回值的语法

掌握函数返回的控制流掌握函数返回值的使用方法了解特殊变量“_”函数返回的语法return返回值在Python中,使用return关键字来表示函数返回。这个返回值可以是任何数据类型,如整数、字符串、列表等。当函数执行到return语句时,它会立即返回指定的值,并将其传递给调用该函数的代码。函数返回值的类型

return没有返回值,则实际返回None返回变量val的值

return“hello”返回一个字符串值返回一个算术表达式的计算结果

returnval返回一个整型值

return10返回一个序列

return[1,2,3]

return1*(2+3)调用一个函数,将该函数的返回值作为自己的返回值

returntime()稍微复杂的表达式,返回该表达式的结果值

returnlen(“happy”)>12?val1:val2返回多个值return返回值1,返回值2,返回值3返回值可以是一个,也可以是多个。当返回值为多个时,不同返回值之间需要用逗号隔开。例如,返回值为三个的语法如下。返回多个值returnval,vece.g.返回两个变量val和vec。return10,“IlikePython!”,len(“Hello”)returnstr,[1,2,3],-1,12+len(“happy”)返回一个整数10和一个字符串。返回一个变量str、一个列表、一个整数-1和一个表达式的结果。函数返回的控制流函数的返回语句并不只能出现在函数体中的结尾,它可以出现在函数体中的任何位置,并且可以出现多次,每一次都可以返回不同的返回值。当控制流达到任意一条返回语句时,接下来必然会跳出函数,然后返回到该函数的调用点,并执行调用点之后的代码。user=“小明”defgreet():ifuser==“小明”:return“你好,我是小明”else:return“对不起,我不是小明”return“程序控制流永远不会到达这里”程序会执行到这里,然后退出该函数。程序不会执行到这里。程序也不会执行到这里。函数返回值的使用val=func()函数func()的返回值赋给变量val。e.g.val=input()input函数会返回一个值,该值赋给变量val。函数返回值的使用e.g.str1,str2=split(str)split函数会返回两个值,分别赋给变量str1和str2。msize=len(“Hello”)+12len函数的返回值与12相加后赋给变量msize。len(“Hello”)该函数调用语句被正常执行,只是它的返回值被丢弃了。特殊变量“_”

特殊变量“_”表示为“被遗弃”的变量。该变量只可被赋值,不可被使用。它只能出现在表达式的左部。defret_3(): #定义一个函数,该函数返回3个值return1,2,3#我们想要第二个返回值,不想要第一、第三个返回值,我们不得不为两个被遗弃的返回值定义两个“待遗弃”的变量!ignore1,val,ignore2=ret_3()#语法错误!ignore变量在一个表达式中不能重复定义ignore,val,ignore=ret_3()_,val,_=ret_3() #这是最推荐的语法val=_ #语法错误!变量“_”不能出现在表达式的右部不急后面将会详细介绍变量的作用域小结011211101101011011010010011001101010100100110110100101100101110110101001101110101010101011010100110100101.函数返回的语法2.函数返回值的类型3.返回多个值4.函数返回的控制流5.函数返回值的使用方法6.特殊变量“_”011011110110101111010111100100001011010101001001111018.变量的作用域知识目标01121110110101101101001001100110101010010011011010010110010111011010100110111010101010101101010011010010掌握局部作用域的含义、变量定义和使用方法掌握嵌套作用域的含义、变量定义和使用方法

掌握全局作用域的含义、变量定义和使用方法

掌握内置作用域的含义、变量定义和使用方法

了解名字查找顺序变量作用域变量的作用域是指变量能够被访问的代码范围。它界定了在程序的不同部分能够访问哪些变量。Python中,变量的作用域包括以下四种:变量作用域全局作用域(Global)内置作用域(Built-in)局部作用域(Local)嵌套作用域(Enclosing)嵌套作用域defouter_function():#外层函数的局部变量outer_variable='外层变量'definner_function():#内层函数可以访问外层函数的局部变量print(outer_variable)#输出:外层变量inner_function()#调用外层函数outer_function()指在一个函数内部定义的另一个函数的作用域。可以被内部函数访问,但不能被外部函数以外的其他部分访问。在函数outer_function()内定义了一个局部变量在函数outer_function()内嵌套定义了一个内部函数inner_function()在函数inner_function()内能正常访问外部函数的局部变量嵌套函数的函数体就是嵌套作用域全局作用域指整个代码文件的顶层代码区域。在顶层代码区域定义的变量就是全局变量。这些变量可以在文件中的任何地方被访问,包括函数和类的内部。#这个变量具有全局作用域global_variable="我是全局变量"defmy_function():#函数内部可以访问全局变量print(global_variable)#输出:我是全局变量#在函数外部也可以访问全局变量print(global_variable)#输出:我是全局变量my_function()在顶层代码区域定义的变量就是全局变量。在函数内可以正常访问全局变量。在顶层代码区域可以正常访问全局变量。这就全局作用域。内置作用域指Python解释器启动时创建的、包含了Python内置函数和变量的一个特殊作用域。这些内置函数和变量在任何模块和函数中都是可访问的,无需任何导入。print(“HelloWorld”)print函数定义在内置作用域,因此此处无需定义和引入即可直接使用该函数。名字查找顺序变量或函数的名字查找顺序会遵循LEGB顺序:局部作用域→嵌套作用域→全局作用域→内置作用域不急后续会有操作应用实例哦~小结011211101101011011010010011001101010100100110110100101100101110110101001101110101010101011010100110100101.局部作用域2.嵌套作用域3.全局作用域4.内置作用域5.名字查找顺序9.统计疫苗信息任务实施【大数据分析技术应用】课程疫苗物流信息监测系统实现能够正确定义疫苗信息统计函数;能够正确定义用户指令行为;能够正确定义参数列表;能够正确传参能力目标主要内容任务工单任务说明引导问题任务评价任务解决方案使用Python创建问卷通过函数定义和调用实现疫苗物流信息监测系统的疫苗信息统计功能。该函数通过参数接收疫苗物流数据信息和用户配置,包括:是否打印批次号、是否打印数量、是否打印生产日期、是否打印有效期和要打印的物流信息记录最大数量。该函数根据配置,按照便于阅读的格式打印指定的疫苗物流数据信息记录。任务概述

任务描述:设计并实现疫苗信息统计功能函数,该函数通过参数接收疫苗物流数据信息和一些配置,根据用户设置的配置或默认的配置,将疫苗物流数据信息输出。010010011001101010100100110110100101110101000100001011011101001010101101010011010010任务概述010010011001101010100100110110100101110101000100001011011101001010101101010011010010任务工单任务概述010010011001101010100100110110100101110101000100001011011101001010101101010011010010(1)函数参数的意义是什么?(2)函数参数分哪几种?它们分别有什么区别?(3)函数参数的语法是什么?”

问题引导:任务概述

任务评价:任务概述评价内容评价要点分值分数评定自我评价1.任务实施定义疫苗信息统计函数6分正确定义参数列表,得2分;函数体中正确引用参数,测2分;正确打印疫苗物流数据信息各字段,得2分

定义用户指令行为1分能够正确定义指令2的行为,得1分

调用疫苗信息统计函数来打印信息1分正确调用疫苗信息统计函数,得1分

2.结果展现运行程序1分程序能够正常执行,且能正常接收用户输入,得1分

3.任务总结依据任务实施情况总结结论1分总结内容切中本任务的重点要点得1分

合计10分

任务解决方案选择合适且熟悉的IDE,打开任务2-2的脚本文件,继续编辑代码。定义疫苗信息统计功能函数stat_info(),首先定义函数头。defstat_info(vaccine,show_batch=True,show_quantity=True,show_production_date=True,show_expiration_date=True,show_logistics_num=0):任务解决方案print(vaccine['name']+'\t'+(str(vaccine['batch'])ifshow_batchelse'***\t')+'\t'+(str(vaccine['quantity'])ifshow_quantityelse'***\t')+'\t'+(vaccine['production_date']ifshow_production_dateelse'***\t')+'\t'+(vaccine['expiration_date']ifshow_expiration_dateelse'***\t'))编写函数体。依次判断各个字段的相关配置,并按要求输出批次号、数量、生产日期和有效期。对于每一字段,如果相应配置为True,则输出字段值,否则,以“***\t”来代替该字段的输出。函数通过if三元运算符来完成配置的判断和字段值的输出。任务解决方案foriinrange(show_logistics_num):print(vaccine['logistics'][i][0]+'\t'+vaccine['logistics'][i][1])函数根据指定的物流信息输出数量上限值,依次遍历该批次疫苗的物流信息序列,并依次输出。任务解决方案ifcommand==1:vaccine=create_vaccine()vaccines.append(vaccine)print("疫苗数据添加成功!")elifcommand==2:print("疫苗信息统计如下:")forvaccineinvaccines:print("名称\t\t批次\t数量\t生产日期\t有效期")stat_info(vaccine,show_production_date=False,show_expiration_date=False,show_logistics_num=1)在顶级代码块中,添加指令2的行为。依次遍历全局变量vaccines,对每一条疫苗物流数据信息记录,调用stat_info()函数以打印其信息,任意设置其配置,例如,设置show_production_date为Fasle,设置show_expiration_date为False,设置show_logistics_num为1,其它配置保持默认值。任务解决方案保存脚本文件并运行,输入指令1,然后输入疫苗物流数据信息。任务解决方案完成疫苗物流数据信息录入之后,输入“Q”返回上一级交互环境,输入指令2。执行结果当前,系统中包含两条疫苗物流数据记录,分别是破伤风疫苗和A型肝炎疫苗。当前设置的输出物流信息的最大值为1。因此,每条疫苗物流数据信息只会输出第一条物流信息。小结1.如何定义参数列表?2.函数体中如何使用参数变量?3.调用函数时如何传参?不急后续会有详细说明与讲解哦~0110111101101011110101111001000010110101010010011110110.形参与实参知识目标01121110110101101101001001100110101010010011011010010110010111011010100110111010101010101101010011010010掌握函数参数的含义和作用;掌握形参的含义;

掌握形参列表的语法;

掌握实参的含义;

掌握实参列表的语法;函数参数参数是一种特殊的变量,用于在调用函数时,将调用环境的上下文信息传递给函数。参数在函数定义中声明,并在函数调用时通过传递具体的值来初始化。如果一个函数没有设置参数,那么无论它在何时何地被调用,其执行流程和结果都将保持一致。defgreet_arg(user):return“你好,我是”+user这就是函数参数。函数参数的作用函数参数的作用使用参数可以使函数更加通用和灵活,从而提高代码的可重用性传递数据提高代码的可重用性函数参数允许你将数据传递给函数,使函数能够根据传入的数据进行操作增强代码的可读性使用参数可以使函数更加通用和灵活,从而提高代码的可重用性函数参数的作用e.g.defgreet_arg(user):return“你好,我是”+user在第一次调用greet_arg()函数时设置参数user的值为“小明”,则第一次执行结果为“你好,我是小明”在第二次调用greet_arg()函数时设置参数user的值为“小张”,则第二次执行结果为“你好,我是小张”形参与形参列表形参变量(或简称为形参,形参完整称作形式参数)表示的是只有当调用该函数时才会设置其值的一类特殊变量。定义函数时,形参列表包含了零个、一个或多个形参变量。def函数名(形参列表):

函数体在定义函数时,你只需要为形参取个名字,然后在函数体中像使用其它变量一样来使用这个形参变量就行了。形参列表中可以不包含任何形参变量,也可以只包含一个形参变量,也可以包含多个形参变量。形参与形参列表defgreet_arg_3(user,age,fruit):returnf“你好,我是{user},我今年{age}岁,我最喜欢的水果是{fruit}。”该形参列表包含多个形参变量,每个形参变量之间要用逗号隔开。e.g.参数变量在函数体中像使用其它变量一样来使用。实参与实参列表实参列表用来设置被调函数的形参变量的值。函数名(实参列表)实参列表包含了零个、一个或多个实参表达式。实参表达式(实参变量,或简称为实参,实参完整称作实际参数)表示的是当调用一个函数时用来设置该函数的形参变量的值的一个表达式。实参与实参列表e.g.当实参列表中包含多个实参表达式时,各个实参表达式之间用逗号隔开。在调用点会执行被调函数的函数体代码,其中的形参初始值为实参传入的值。不急后续还有位置参数与关键字参数哦~小结011211101101011011010010011001101010100100110110100101100101110110101001101110101010101011010100110100101.函数参数的含义2.函数参数的作用3.形参的含义4.形参列表的语法5.实参的含义6.实参列表的语法0110111101101011110101111001000010110101010010011110111.位置参数与关键字参数知识目标01121110110101101101001001100110101010010011011010010110010111011010100110111010101010101101010011010010掌握位置参数的含义和语法;掌握关键字参数的含义和语法;

掌握位置参数与关键字参数混用的语法;位置参数位置参数是指在调用函数时,必须按照定义函数时的顺序传递的参数。这意味着传入的实际参数数量和位置都必须与定义函数时保持一致。defadd(num1,num2):returnnum1+num2result=add(3,5)#这里3和5是位置参数print(result)#输出83被传递给

num1,5被传递给

num2。3和5就是位置参数。位置参数defgreet_arg(user):return“你好,我是”+usergreet_arg(“小明”)e.g.调用greet_arg()函数,其中的实参列表中包含一个字符串值“小明”,对应该函数形参列表中的user变量。位置参数defgreet_arg_3(user,age,fruit):returnf“你好,我是{user},我今年{age}岁,我最喜欢的水果是{fruit}。”greet_arg_3(“小明”,21,“苹果”)e.g.调用greet_arg_3()函数,其中的实参列表中的三个实参表达式分别对应该函数形参列表中的user变量、age变量和fruit变量。位置参数defgreet_arg_3(user,age,fruit):returnf“你好,我是{user},我今年{age}岁,我最喜欢的水果是{fruit}。”greet_arg_3(name,10+2+val,“苹果”)greet_arg_3(“小明”,compute_age(),“苹果”)说说看上面两次调用,形参变量的值分别是什么?关键字参数关键字参数是指在调用函数时,通过参数名来传递值的参数。这种方式允许你在调用函数时不必按照定义时的顺序传递参数,只需指定参数名和对应的值即可。defgreet(message,name):returnf"{message},{name}!"#使用关键字参数调用函数result=greet(name="李雷",message="你好")print(result)#输出"你好,李雷!"通过关键字参数明确指定了每个参数的值,因此顺序不再重要。关键字参数defgreet_arg_3(user,age,fruit):returnf“你好,我是{user},我今年{age}岁,我最喜欢的水果是{fruit}。”greet_arg_3(user=“小明”,age=21,fruit=“苹果”)e.g.实参列表包含了3个关键字实参,以此显式地指明要给哪个形参赋什么值。关键字参数defgreet_arg_3(user,age,fruit):returnf“你好,我是{user},我今年{age}岁,我最喜欢的水果是{fruit}。”greet_arg_3(age=10+2+val,fruit=“苹果”,user=name)greet_arg_3(“小明”,fruit=“苹果”,age=compute_age())说说看上面两次调用,形参变量的值分别是什么?位置参数与关键字参数混用报错!位置实参与关键字实参也可以混用,但需要注意:位置实参不可出现在关键字实参之后。在关键字实参之后使用位置实参不急后续还有学习默认参数哦~小结011211101101011011010010011001101010100100110110100101100101110110101001101110101010101011010100110100101.位置参数的含义和语法2.关键字参数的含义和语法3.位置参数和关键字参数混用0110111101101011110101111001000010110101010010011110112.默认参数知识目标01121110110101101101001001100110101010010011011010010110010111011010100110111010101010101101010011010010掌握默认参数的含义;

掌握默认参数的语法;默认参数定义函数时,如果给形参设置了初始值,则该实参被称作默认参数。defgreet_arg_3_default(user,age=20,fruit=“苹果”):returnf“你好,我是{user},我今年{age}岁,我最喜欢的水果是{fruit}。”给参数age设置了默认值20。age就是一个默认参数。给参数fruit设置了默认值“苹果”。fruit也是一个默认参数。默认参数defgreet_arg_3_default(user,age=20,fruit=“苹果”):returnf“你好,我是{user},我今年{age}岁,我最喜欢的水果是{fruit}。”greet_arg_3_default(“小智”,21) #正确在调用带参函数时,我们可以给默认参数传值,也可以不给它传值。如果我们给默认参数传值,那么在该调用点,形参的值就是你传入的实参表达式的值;否则,该形参的值则为默认值。给参数user传值“小智”,给参数age传值21。未给fruit传值,所以fruit为默认值“苹果”。默认参数defgreet_arg_error(user=“小明”,age,fruit=“苹果”):默认参数和非默认参数混合时,需要注意:默认参数之后不可出现非默认参数。fruit为默认参数,age为非默认参数,age出现在fruit之前。报错!默认参数defgreet_arg_3_default(user,age=20,fruit=“苹果”):returnf“你好,我是{user},我今年{age}岁,我最喜欢的水果是{fruit}。”greet_arg_3_default(“小智”,21,“香蕉”)greet_arg_3_default(“小智”,21)greet_arg_3_default(“小智”,“香蕉”)greet_arg_3_default(“小智”,fruit=“香蕉”)说说看上面4次调用是否正确?为什么?不急后续还有学习可变参数哦~小结011211101101011011010010011001101010100100110110100101100101110110101001101110101010101011010100110100101.默认参数的含义2.默认参数的语法0110111101101011110101111001000010110101010010011110113.可变参数知识目标01121110110101101101001001100110101010010011011010010110010111011010100110111010101010101101010011010010掌握*参数的含义与语法;

掌握**参数的含义与语法;

掌握不同类型参数混合的语法;可变参数可变参数允许你定义一个函数

温馨提示

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

最新文档

评论

0/150

提交评论