level2.5 函数高阶

一、课程内容

  • 返回值和return关键字
  • 求中位数
  • 局部变量和全局变量

二、学习目标

  • 理解函数返回值的意义、掌握return关键字的用法
  • 了解中位数的含义并定义函数求解中位数
  • 了解局部变量和全局变量的概念及global关键字的作用

三、知识点

1.返回值和return关键字

如果将函数比喻成一台榨汁机,那么它拥有的榨汁功能相当于函数体;实现榨汁功能需要水果原料,水果相当于函数的参数;榨汁成功后,果汁属于水果的提供者即函数的调用者,如何将果汁传递给调用者呢?使用return关键字!而传递的果汁也被称为函数的返回值。比如:

python 复制代码
def juicer(fruit):
    juice = fruit + '汁'
    return juice


print(juicer('苹果'))

传递"苹果"参数便得到"苹果汁"返回值。

跟函数定义时可以拥有任意多个、任意类型的参数类似,return关键字后面可以跟任意多个、任意类型的返回值。

2.求中位数

中位数是统计学中的重要概念,指一列有序数字最中间的那个,求解中位数要区分数列长度为奇数和偶数两种情况,代码如下:

python 复制代码
# 参数:任意多个数
# 返回值:排序后的数列和中位数
def median(*b):
    li = sorted(b)
    # 获取"奇数"长度下唯一中间数的索引
    index = len(li) // 2
    if len(li) % 2 == 1:
        m = li[index]
    else:
        m = (li[index] + li[index - 1]) / 2
    return li, m

3.局部变量和全局变量

在函数内部定义的变量称为局部变量,它只能在该函数内使用,在函数运行之前或者完成运行之后是没有被定义的、也就是不存在的。

在函数外部定义的变量称为全局变量,全局变量的值可以在函数内部被获取。

如果在函数内、外定义了同名变量,虽然它们的名称一样,但却是两个完全不同的变量;建议避免这种全局变量和局部变量用同一个名称的命名方法,这样很容易让代码变得混乱难懂。

如果想要在函数内部使用全局变量,可以使用"global"语句。比如:

四、难点

返回值的意义:明确了为什么函数需要返回值、才能在合适的情况下使用return关键字向调用者返回合适的值。

五、延伸

return关键字除了用于向调用者返回特定的值外,还可以单独使用以结束函数的执行、跟break语句被执行时跳出循环结构的功能类似。比如:

python 复制代码
def f():
    print('a')
    return
    print('c')
​
f()
执行结果为:

a
相关推荐
IT古董37 分钟前
第四章:大模型(LLM)】06.langchain原理-(3)LangChain Prompt 用法
java·人工智能·python
fantasy_arch5 小时前
pytorch例子计算两张图相似度
人工智能·pytorch·python
No0d1es7 小时前
电子学会青少年软件编程(C/C++)5级等级考试真题试卷(2024年6月)
c语言·c++·算法·青少年编程·电子学会·五级
WBluuue7 小时前
数学建模:智能优化算法
python·机器学习·数学建模·爬山算法·启发式算法·聚类·模拟退火算法
赴3357 小时前
矿物分类案列 (一)六种方法对数据的填充
人工智能·python·机器学习·分类·数据挖掘·sklearn·矿物分类
大模型真好玩7 小时前
一文深度解析OpenAI近期发布系列大模型:意欲一统大模型江湖?
人工智能·python·mcp
RPA+AI十二工作室8 小时前
亚马逊店铺绩效巡检_影刀RPA源码解读
chrome·python·rpa·影刀
一车小面包8 小时前
机器学习--决策树
决策树·机器学习
大阳1238 小时前
线程(基本概念和相关命令)
开发语言·数据结构·经验分享·算法·线程·学习经验
小艳加油8 小时前
Python机器学习与深度学习;Transformer模型/注意力机制/目标检测/语义分割/图神经网络/强化学习/生成式模型/自监督学习/物理信息神经网络等
python·深度学习·机器学习·transformer