《Python语言程序设计基础》数据类型-4.2 函数的参数和返回值

合集下载

《Python程序设计》课程标准

《Python程序设计》课程标准

《Python程序设计》课程标准课程名称:Python程序设计课程性质:专业必修课计划学时:72学时适用专业:计算机各专业1.前言1.1课程定位《Python程序设计》课程定位于软件技术、大数据技术与应用、人工智能等相关专业的专业基础课程。

主要讲述Python程序设计的基础知识和相关技术,学生通过学习该课程,掌握Python程序设计语言的基本知识和使用Python语言进行软件开发的思想和基本方法,进而掌握程序设计的基本步骤和通用方法,提高通过编写程序解决实际问题的能力,为今后进一步使用数据采集和分析等大数据及人工智能方面的运用打好基础。

课程着眼于学生的长远发展,重点培养其软件开发、大数据及人工智能领域岗位基本工作技能、职业素养、社会适应能力、交流沟通能力、团队协作能力、创新能力和自主学习能力。

1.2设计思路随着人工智能、物联网及大数据产业的兴起,Python作为主要使用的开发语言,正被各个新型行业广泛的应用。

本课程通过大量的案例,引导学生学会使用Python语言思考问题、分析问题,学生在理解知识点的过程中遇到困难时,可以继续往后学习。

通过逐渐深入的学习,前面不懂和疑惑的知识点会“豁然开朗”。

通过大量的案例实操讲解Python理论知识,提高学生对Python知识的理解以及应用能力。

通过任务驱动、理实一体的教学模式,让学生在边学、边练、边做、边玩的过程中,了解实际案例实现的同时学到软件编程的基本技能。

课程重在让学生掌握程序设计的一般方法,并贯彻“方法强于代码”的意识,以加强学生的自学能力,从而有利于其将来发展。

2.课程目标2.1总体目标通过本课程的学习,使得学生能够理解Python的编程模式(命令式编程、函数式编程),熟练运用Python运算符、内置函数以及列表、元组、字典、集合等基本数据类型和相关列表推导式、切片等特性来解决实际问题,熟练掌握Python分支结构、循环结构、函数设计以及类的设计与使用,熟练使用字符串方法,适当了解正则表达式,熟练使用Python读写文本文件,适当了解二进制文件操作,了解Python程序的调试方法,掌握处理Python异常,了解Python 面向对象程序设计模式,同时还应培养学生的代码优化与安全编程意识。

变量作为函数参数和返回值的使用示例

变量作为函数参数和返回值的使用示例

变量作为函数参数和返回值的使用示例电脑编程中,变量作为函数参数和返回值是非常常见和重要的概念。

通过合理地使用变量,我们可以实现更高效、灵活和可维护的代码。

本文将通过一些具体的使用示例,探讨变量作为函数参数和返回值的应用。

1. 传递变量作为函数参数在编程中,我们经常需要将某些数据传递给函数进行处理。

这时,我们可以使用变量作为函数的参数,以便将数据传递给函数并在函数内部进行操作。

例如,我们有一个函数`calculate_sum`,用于计算两个数的和。

我们可以将这两个数作为函数的参数传递进去,然后在函数内部进行求和操作,并返回结果。

```pythondef calculate_sum(num1, num2):sum = num1 + num2return sumresult = calculate_sum(5, 3)print(result) # 输出:8```在这个示例中,`num1`和`num2`就是作为函数参数传递的变量。

通过传递变量作为参数,我们可以在函数内部使用这些变量进行相应的计算,并将结果返回。

2. 使用变量作为函数的返回值除了将变量作为函数参数传递外,我们还可以将变量作为函数的返回值。

这样,函数就可以将处理后的结果返回给调用者。

例如,我们有一个函数`calculate_average`,用于计算一组数的平均值。

我们可以在函数内部进行计算,并将结果通过返回值的方式返回给调用者。

```pythondef calculate_average(numbers):total = sum(numbers)average = total / len(numbers)return averagemy_numbers = [1, 2, 3, 4, 5]result = calculate_average(my_numbers)print(result) # 输出:3.0```在这个示例中,`numbers`是作为函数参数传递的变量,而`average`则是作为函数的返回值。

python中result函数用法_python中函数的参数和返回值

python中result函数用法_python中函数的参数和返回值

python中result函数⽤法_python中函数的参数和返回值函数⽬标函数参数和返回值的作⽤函数的返回值 进阶函数的参数 进阶递归函数01. 函数参数和返回值的作⽤函数根据 有没有参数 以及 有没有返回值,可以 相互组合,⼀共有 4 种 组合形式⽆参数,⽆返回值⽆参数,有返回值有参数,⽆返回值有参数,有返回值定义函数时,是否接收参数,或者是否返回结果,是根据 实际的功能需求 来决定的!如果函数 内部处理的数据不确定,就可以将外界的数据以参数传递到函数内部如果希望⼀个函数 执⾏完成后,向外界汇报执⾏结果,就可以增加函数的返回值1.1 ⽆参数,⽆返回值此类函数,不接收参数,也没有返回值,应⽤场景如下:只是单纯地做⼀件事情,例如 显⽰菜单在函数内部 针对全局变量进⾏操作,例如:新建名⽚,最终结果 记录在全局变量 中注意:如果全局变量的数据类型是⼀个 可变类型,在函数内部可以使⽤ ⽅法 修改全局变量的内容 —— 变量的引⽤不会改变在函数内部,使⽤赋值语句 才会 修改变量的引⽤1.2 ⽆参数,有返回值此类函数,不接收参数,但是有返回值,应⽤场景如下:采集数据,例如 温度计,返回结果就是当前的温度,⽽不需要传递任何的参数1.3 有参数,⽆返回值此类函数,接收参数,没有返回值,应⽤场景如下:函数内部的代码保持不变,针对 不同的参数 处理 不同的数据例如 名⽚管理系统 针对 找到的名⽚ 做 修改、删除 操作1.4 有参数,有返回值此类函数,接收参数,同时有返回值,应⽤场景如下:函数内部的代码保持不变,针对 不同的参数 处理 不同的数据,并且 返回期望的处理结果例如 名⽚管理系统 使⽤ 字典默认值 和 提⽰信息 提⽰⽤户输⼊内容如果输⼊,返回输⼊内容如果没有输⼊,返回字典默认值02. 函数的返回值 进阶在程序开发中,有时候,会希望 ⼀个函数执⾏结束后,告诉调⽤者⼀个结果,以便调⽤者针对具体的结果做后续的处理返回值 是函数 完成⼯作后,最后 给调⽤者的 ⼀个结果在函数中使⽤ return 关键字可以返回结果调⽤函数⼀⽅,可以 使⽤变量 来 接收 函数的返回结果问题:⼀个函数执⾏后能否返回多个结果?⽰例 —— 温度和湿度测量假设要开发⼀个函数能够同时返回当前的温度和湿度先完成返回温度的功能如下:def measure():"""返回当前的温度"""print("开始测量...")temp = 39print("测量结束...")return tempresult = measure()print(result)在利⽤ 元组 在返回温度的同时,也能够返回 湿度改造如下:def measure():"""返回当前的温度"""print("开始测量...")temp = 39wetness = 10print("测量结束...")return (temp, wetness)提⽰:如果⼀个函数返回的是元组,括号可以省略技巧在 Python 中,可以 将⼀个元组 使⽤ 赋值语句 同时赋值给 多个变量注意:变量的数量需要和元组中的元素数量保持⼀致result = temp, wetness = measure()—— 交换两个数字题⽬要求有两个整数变量 a = 6, b = 100不使⽤其他变量,交换两个变量的值解法 1 —— 使⽤其他变量# 解法 1 - 使⽤临时变量c = bb = aa = c解法 2 —— 不使⽤临时变量# 解法 2 - 不使⽤临时变量a = a + bb = a - ba = a - b解法 3 —— Python 专有,利⽤元组a, b = b, a03. 函数的参数3.1. 不可变和可变的参数问题 1:在函数内部,针对参数使⽤ 赋值语句,会不会影响调⽤函数时传递的 实参变量? —— 不会!⽆论传递的参数是 可变 还是 不可变只要 针对参数 使⽤ 赋值语句,会在 函数内部 修改 局部变量的引⽤,不会影响到 外部变量的引⽤def demo(num, num_list):print("函数内部")# 赋值语句num = 200num_list = [1, 2, 3]print(num)print(num_list)print("函数代码完成")gl_num = 99gl_list = [4, 5, 6]demo(gl_num, gl_list)print(gl_num)print(gl_list)问题 2:如果传递的参数是 可变类型,在函数内部,使⽤ ⽅法 修改了数据的内容,同样会影响到外部的数据def mutable(num_list):# num_list = [1, 2, 3]num_list.extend([1, 2, 3])print(num_list)gl_list = [6, 7, 8]mutable(gl_list)print(gl_list)⾯试题 —— +=在 python 中,列表变量调⽤ += 本质上是在执⾏列表变量的 extend ⽅法,不会修改变量的引⽤def demo(num, num_list):print("函数内部代码")# num = num + numnum += num# num_list.extend(num_list) 由于是调⽤⽅法,所以不会修改变量的引⽤# 函数执⾏结束后,外部数据同样会发⽣变化num_list += num_listprint(num)print(num_list)print("函数代码完成")gl_num = 9“gl_list = [1, 2, 3]demo(gl_num, gl_list)print(gl_num)print(gl_list)3.2 缺省参数定义函数时,可以给 某个参数 指定⼀个默认值,具有默认值的参数就叫做 缺省参数调⽤函数时,如果没有传⼊ 缺省参数 的值,则在函数内部使⽤定义函数时指定的 参数默认值函数的缺省参数,将常见的值设置为参数的缺省值,从⽽ 简化函数的调⽤例如:对列表排序的⽅法gl_num_list = [6, 3, 9]# 默认就是升序排序,因为这种应⽤需求更多gl_num_list.sort()print(gl_num_list)# 只有当需要降序排序时,才需要传递 `reverse` 参数gl_num_list.sort(reverse=True)print(gl_num_list)指定函数的缺省参数在参数后使⽤赋值语句,可以指定参数的缺省值def print_info(name, gender=True):gender_text = "男⽣"if not gender:gender_text = "⼥⽣"print("%s 是 %s" % (name, gender_text))提⽰缺省参数,需要使⽤ 最常见的值 作为默认值!如果⼀个参数的值 不能确定,则不应该设置默认值,具体的数值在调⽤函数时,由外界传递!缺省参数的注意事项1) 缺省参数的定义位置必须保证 带有默认值的缺省参数 在参数列表末尾所以,以下定义是错误的!def print_info(name, gender=True, title):2) 调⽤带有多个缺省参数的函数在 调⽤函数时,如果有 多个缺省参数,需要指定参数名,这样解释器才能够知道参数的对应关系!def print_info(name, title="", gender=True):""":param title: 职位:param name: 班上同学的姓名:param gender: True 男⽣ False ⼥⽣"""gender_text = "男⽣"if not gender:gender_text = "⼥⽣"print("%s%s 是 %s" % (title, name, gender_text))# 提⽰:在指定缺省参数的默认值时,应该使⽤最常见的值作为默认值!print_info("⼩明")print_info("⽼王", title="班长")print_info("⼩美", gender=False)3.3 多值参数定义⽀持多值参数的函数有时可能需要 ⼀个函数 能够处理的参数 个数 是不确定的,这个时候,就可以使⽤ 多值参数python 中有 两种 多值参数:参数名前增加 ⼀个 * 可以接收 元组参数名前增加 两个 * 可以接收 字典⼀般在给多值参数命名时,习惯使⽤以下两个名字*args —— 存放 元组 参数,前⾯有⼀个 ***kwargs —— 存放 字典 参数,前⾯有两个 *args 是 arguments 的缩写,有变量的含义kw 是 keyword 的缩写,kwargs 可以记忆 键值对参数def demo(num, *args, **kwargs):print(num)print(args)print(kwargs)demo(1, 2, 3, 4, 5, name="⼩明", age=18, gender=True)提⽰:多值参数 的应⽤会经常出现在⽹络上⼀些⼤⽜开发的框架中,知道多值参数,有利于我们能够读懂⼤⽜的代码多值参数案例 —— 计算任意多个数字的和需求定义⼀个函数 sum_numbers,可以接收的 任意多个整数功能要求:将传递的 所有数字累加 并且返回累加结果def sum_numbers(*args):num = 0# 遍历 args 元组顺序求和for n in args:num += nreturn numprint(sum_numbers(1, 2, 3))元组和字典的拆包(知道)在调⽤带有多值参数的函数时,如果希望:将⼀个 元组变量,直接传递给 args将⼀个 字典变量,直接传递给 kwargs就可以使⽤ 拆包,简化参数的传递,拆包 的⽅式是:在 元组变量前,增加 ⼀个 *在 字典变量前,增加 两个 *def demo(*args, **kwargs):print(args)print(kwargs)# 需要将⼀个元组变量/字典变量传递给函数对应的参数gl_nums = (1, 2, 3)gl_xiaoming = {"name": "⼩明", "age": 18}# 会把 num_tuple 和 xiaoming 作为元组传递个 args# demo(gl_nums, gl_xiaoming)demo(*gl_nums, **gl_xiaoming)04. 函数的递归函数调⽤⾃⾝的 编程技巧 称为递归4.1 递归函数的特点特点⼀个函数 内部 调⽤⾃⼰函数内部可以调⽤其他函数,当然在函数内部也可以调⽤⾃⼰代码特点函数内部的 代码 是相同的,只是针对 参数 不同,处理的结果不同当 参数满⾜⼀个条件 时,函数不再执⾏这个⾮常重要,通常被称为递归的出⼝,否则 会出现死循环!⽰例代码def sum_numbers(num):print(num)# 递归的出⼝很重要,否则会出现死循环if num == 1:returnsum_numbers(num - 1)sum_numbers(3)4.2 递归案例 —— 计算数字累加需求定义⼀个函数 sum_numbers能够接收⼀个 num 的整数参数计算 1 + 2 + ... num 的结果def sum_numbers(num):if num == 1:return 1# 假设 sum_numbers 能够完成 num - 1 的累加temp = sum_numbers(num - 1)# 函数内部的核⼼算法就是 两个数字的相加return num + tempprint(sum_numbers(2))提⽰:递归是⼀个 编程技巧,初次接触递归会感觉有些吃⼒!在处理 不确定的循环条件时,格外的有⽤,例如:遍历整个⽂件⽬录的结构。

python函数说明

python函数说明

python函数说明Python是一种高级编程语言,它具有简单易学、清晰易懂、可扩展性强等优点,被广泛应用于科学计算、数据分析、人工智能等领域。

其中,函数是Python编程中重要的概念之一,本文将对Python函数进行说明。

一、函数的定义函数是封装了一组代码的对象,可以接受参数,返回结果。

Python中定义函数使用关键字“def”,语法格式如下:```def 函数名(参数列表):函数体return 返回值```其中,参数列表可以为空或包含多个参数,函数体由多行代码组成。

如果函数有返回值,使用“return”语句返回结果。

下面是一个计算两个数之和的函数示例:```def add(x, y):result = x + yreturn result```二、函数的调用定义函数之后,可以通过调用函数来使用它。

调用函数时需要指定函数名和传入的参数值,例如:```a = 10b = 20c = add(a, b)print(c) #输出30```以上代码先定义了变量a和b,并将它们作为参数传递给函数add,函数计算出它们的和并返回结果,最后将结果赋值给变量c 并打印出来。

三、函数的参数Python函数的参数可以是必须参数、默认参数、可变参数、关键字参数和命名关键字参数五种类型。

1. 必须参数:必须以正确的顺序传入函数,数量必须等于函数定义中的参数数量。

例如:```def power(x):return x**2print(power(3)) #输出9```以上代码定义了一个名为power的函数,该函数接受一个参数并计算其平方值。

在调用函数时必须传入一个参数,否则会报错。

2. 默认参数:在定义函数时给参数赋上默认值,调用函数时可以不传入该参数,如果传入则使用传入的值覆盖默认值。

例如:```def power(x=2):return x**2print(power()) #输出4print(power(3)) #输出9```以上代码将参数x的默认值设为2,如果调用函数时不传入参数,则会使用默认值。

python函数的参数

python函数的参数

python函数的参数Python函数的参数是指在定义函数时,用于接收传入函数的值或变量的占位符。

参数可以帮助我们在调用函数时向函数传递数据或变量,让函数具有更强大的灵活性和通用性。

Python函数的参数可以分为以下几种类型:1. 位置参数(Positional Arguments):位置参数是指在函数调用时按照参数定义的位置一一对应传入的参数。

例如:```pythondef add(a, b):return a + bprint(add(3, 4)) # 传入的第一个参数为3,第二个参数为4```在上述代码中,`add`函数有两个位置参数`a`和`b`,在调用函数时按照位置依次传入两个参数值3和42. 关键字参数(Keyword Arguments):关键字参数是指在函数调用时通过`键=值`的形式指定传入的参数。

关键字参数可以不按照定义顺序传递参数,而是通过参数名来匹配传递的值。

例如:```pythondef add(a, b):return a + bprint(add(a=3, b=4)) # 通过参数名指定传入的值print(add(b=4, a=3)) # 参数的顺序可以任意```在上述代码中,`add`函数的参数可以通过参数名`a`和`b`来指定传入的值,不再强制按照位置传递参数。

3. 默认参数(Default Arguments):默认参数是指在函数定义时给参数指定一个默认值。

如果在函数调用时没有传递对应的参数值,则使用默认值作为参数的值。

例如:```pythondef add(a, b=2):return a + bprint(add(3)) # 没有传递第二个参数,默认使用2```在上述代码中,`add`函数的第二个参数`b`有一个默认值2,如果调用函数时只传递一个参数,则使用默认值作为第二个参数的值。

4. 可变参数(Variable Arguments):可变参数是指在函数定义时,允许接受任意个数的参数。

二级Python语言程序设计考试大纲(2023年版)

二级Python语言程序设计考试大纲(2023年版)

㊀基本要求㊀㊀1.掌握Python语言的基本语法规则㊂2.掌握不少于3个基本的Python标准库㊂3.掌握不少于3个Python第三方库,掌握获取并安装第三方库的方法㊂4.能够阅读和分析Python程序㊂5.熟练使用IDLE开发环境,能够将脚本程序转变为可执行程序㊂6.了解Python计算生态在以下方面(不限于)的主要第三方库名称:网络爬虫㊁数据分析㊁数据可视化㊁机器学习㊁Web开发等㊂㊀考试内容一㊁Python语言基本语法元素1.程序的基本语法元素:程序的格式框架㊁缩进㊁注释㊁变量㊁命名㊁保留字㊁连接符、数据类型㊁赋值语句㊁引用㊂2.基本输入输出函数:input()㊁eval()㊁print()㊂3.源程序的书写风格㊂4.Python语言的特点㊂二㊁基本数据类型1.数字类型:整数类型㊁浮点数类型和复数类型㊂2.数字类型的运算:数值运算操作符㊁数值运算函数㊂3. 真假无:True 、False 、None 。

4.字符串类型及格式化:索引㊁切片㊁基本的format()格式化方法㊂5.字符串类型的操作:字符串操作符㊁操作函数和操作方法㊂6. 类型判断合类型间转换。

7. 逻辑运算和比较运算。

三、程序的控制结构1.程序的三种控制结构㊂2.程序的分支结构:单分支结构㊁二分支结构㊁多分支结构㊂3.程序的循环结构:遍历循环㊁条件循环㊂4. 程序的循环控制:break和continue。

5.程序的异常处理:try-except及异常处理类型㊂全国计算机等级考试二级Python语言程序设计考试大纲(2023年版)四㊁函数和代码复用1.函数的定义和使用㊂2.函数的参数传递:可选参数传递㊁参数名称传递㊁函数的返回值㊂3. 变量的作用域:局部变量和全局变量㊂4. 函数递归的定义和使用。

五、组合数据类型1. 组合数据类型的基本概念。

2. 列表类型:创建、索引、切片。

3. 列表类型的操作:操作符、操作函数和操作方法。

4. 集合类型:创建。

Python程序设计-教学大纲

Python程序设计-教学大纲

Python程序设计教学大纲本课程基于教学团队在浙江大学讲授《Python程序设计》课的多年教学实践经验,面向零编程基础的大学生和社会公众。

课程以培养学生计算思维能力为导引,全面讲授Python语言及各种应用,让学生能用Python语言解决实际问题。

课程概述本课程介绍Python语言开发环境、基本数据类型和容器类型、各种控制语句、函数和文件。

本课程介绍的主要第三方模块:数据处理模块:pandas可视化模块:plotly爬虫模块:requests-htmlWeb应用程序框架:flask,dash人工智能:baidu-aip,百度智能云本课程注重Python语言的实践与应用,在课程中穿插了生动案例和编程练习,培养学生解决实际问题的能力。

授课目标掌握Python语言,学习如何写Pythonic程序!用Python语言解决实际问题课程大纲第一章Python语言概述0.1 《Python程序设计》课程导论1.1 Python语言简介1.2 标识符和变量1.3 输入函数和输出函数第二章用Python语言编写程序(1)2.1 数字类型2.2 字符串2.3 内置转换函数第二章用Python语言编写程序(2)2.4 语句2.5 格式化输出第三章使用字符串、列表和元组(1)3.1 序列的访问及运算符3.2 使用字符串第三章使用字符串、列表和元组(2)3 .3 列表的使用3.4 元组的使用3.5 Python随机模块3.6 习题选讲第四章条件、循环和其他语句4.1条件语句4.2while循环4.3for循环4.4 range函数4.5 异常4.6 习题选讲第五章集合与字典5.1 集合5.2 字典5.3 集合与字典的应用第六章函数6.1 函数定义与调用6.2 函数参数6.3 函数返回值6.4 命名空间和作用域6.5 递归6.6 内置函数6.7 程序结构6.8 习题选讲第七章文件7.1 文件读写7.2 用Pandas模块读写常见格式文件7.3 数据可视化——plotly模块(4.0版)7.4 习题选讲第八章类和对象8.1 类和对象的概念8.2 类和对象的创建8.3 使用对象编写程序8.4 封装8.5 继承和多态第九章Web应用程序开发和网络爬虫9.1 Web应用程序开发概述9.2 Web应用框架Flask和文件模板9.3 云端部署Web应用程序9.4 网络爬虫9.5 习题选讲预备知识作为第一门编程课,本课程可以零基础学习。

Python语言程序设计课件下载

Python语言程序设计课件下载

Python语言程序设计课件教案教学内容:本节课的教学内容来自于Python语言程序设计教材的第五章节,主要内容包括:条件语句、循环语句和函数。

1. 条件语句:if语句、elif语句和else语句的使用方法和应用场景。

2. 循环语句:for循环和while循环的语法规则、执行过程以及应用案例。

3. 函数:函数的定义、调用、参数传递以及返回值。

教学目标:1. 学生能够理解条件语句的概念和作用,并能够熟练使用if语句、elif语句和else语句来判断不同的情况。

2. 学生能够掌握循环语句的语法规则和执行过程,并能够运用for循环和while循环来解决实际问题。

3. 学生能够理解函数的定义和调用方式,并能够掌握参数传递和返回值的概念。

教学难点与重点:1. 教学难点:条件语句的嵌套使用和循环语句的嵌套使用。

2. 教学重点:函数的定义和调用、参数传递和返回值。

教具与学具准备:1. 教具:电脑、投影仪、黑板。

2. 学具:课本、练习本、铅笔、橡皮。

教学过程:一、实践情景引入(5分钟)让学生打开电脑,登录Python编程环境,然后运行一个简单的程序,例如输出"Hello, World!",以此来引入本节课的主题——Python 语言程序设计。

二、条件语句讲解(10分钟)1. 讲解if语句的语法规则和应用场景,通过举例来说明如何使用if语句来判断一个数的正负。

2. 讲解elif语句的语法规则和应用场景,通过举例来说明如何使用elif语句来判断一个数的范围。

3. 讲解else语句的语法规则和应用场景,通过举例来说明如何使用else语句来处理默认情况。

三、条件语句练习(10分钟)让学生根据教师给出的条件,使用if语句、elif语句和else语句来编写程序,例如:判断一个数是正数、负数还是零;判断一个数是否是偶数。

四、循环语句讲解(10分钟)1. 讲解for循环的语法规则和执行过程,通过举例来说明如何使用for循环来输出一个数的平方。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

变量的作用域
1. 全局变量和局部变量 局部变量是在一定范围内使用的变量,例如在函数体的内部定义的变
量,每个函数可以定义相同名称的局部变量,只能在函数内部进行访问, 不会影响其他函数。而全局变量是指可以在整个程序范围内访问,拥有 更加广泛的作用域。
变量的作用域
例如:进行数值加减法计算的程序。
变量的作用域
不定长参数
在函数定义时,如果希望函数能处理比参数个数更多的参数时,可以使用 不定长参数。其基本语法格式为:
def 函数名([参数列表],*args,**kwargs): 函数体 [return 返回值]
上述函数定义中,有两类参数,分别是普通参数和不定长参数,它们与普 通参数相比,前面多了*或**。*arg参数会以元组的方式存放超出普通参数个数 的参数,而**kwargs则是以字典的方式存放传入参数时命名的那些参数。
2. global和nonlocal关键字
那么是否一定就不能修改外部的全局变量的值呢?答案是否定的,我
们可以使用global和nonlocal关键字进行变量的修改。
调用函数语句: >>> n = 0 >>> global_counter() >>> 1 >>> global_counter()
>>> 2 >>> global_counter() >>> 3
《Python应用程序设计》 4.2 函数参数和返回值
目录
默认参数 不定长参数 函数的返回值 变量的作用域
默认参数
回顾上面的任务中编写过的函数sum_all(),它能够计算任意范围内的整数 之和,如果在函数定义部分分别给start和end设置一个默认值,则参数变为默 认参数。
默认参数
函数调用时,默认按照参数位置顺序的方式传递给函数,运用默认参数的 时候,要注意调用时要将带有默认值的参数放在参数列表的最后。参数出现的 位置也可以根据需要进行调整,这时可以采用参数名称的方式进行参数传递, 例如:sum_all(end=98,start=2)。这样也可以增强程序的可读性。
变量的作用域
2. global和nonlocal关键字 一般在嵌套的函数中使用nonlocal关键字来修改嵌套的上级函数的
作用域的变量。
调用函数语句: >>> make_counter() >>> 1
任务描述
任务名称:根据用户需求绘制圆形 编写函数draw_circle(),根据需要设定普通参数和不定长参数,用 户可以在绘制圆形前设置其半径、轮廓线、填充色、轮廓的粗细等属性。
调用 >>> print(cacu1(1,2,3,4)) >>> 10
>>> print(cacu2(1,2,3,4,m=5,n=6)) >>> 21
函数的定义与调用
2. 函数的调用
函数定义后不会自动执行,需要的时候可以进行调用。调用的方法为: 函数名([参数列表])
如定义完print_sysinfo()函数后,需要输入命令进行函数的调用: print_sysinfo()
不定长参数
如果要计算更多的数的和,可以在两数求和函数定义中增加一个不定长的 参数,并改写函数体部分,使其能够完成相应的功能。
调用 >>> print(cacu(1,2)) >>> 3
调用 >>> print(cacu1(1,2,3,4)) >>> 10
不定长参数
如果在传入参数的时候,列出了参数的名字,则可以将超出普通参数个数 的其他参数存放在**kwargs中对应的字典中。例如修改上述的代码能计算出**num1中所有元素的 和:
函数的返回值
函数定义中的return语句用于结束函数并将程序返回到函数被调用的部分继 续执行,也就是说函数中return后面的语句是不被执行的。return可以出现在函 数的任何部分,同时可以将0、1或多个结果返回给函数被调用的程序。例如:求 解一元二次方程的根。
函数的返回值
例如:求解一元二次方程的根。
拓展任务
任务名称:对数值大小进行比较 从两数大小的比较开始定义函数,然后通过定义不定长参数扩展到 能比较更多数值大小具有一定通用性的函数,并求出其中的最大值。
THANK YOU
相关文档
最新文档