一木.溪桥 在Logic Education跟Amy学Python
12期:Python基础课 一木.溪桥学Python-09:函数的返回值、作用域、作用域的优先级、递归函数、内置文件中常用方法、匿名函数lambda、高阶函数
日期:2021年1月4日
学习目标:
- 函数的返回值
- 函数的作用域
- 作用域的优先级
- 递归函数
- 内置文件中常用方法
- 匿名函数lambda
- 高阶函数
学习内容:
函数的返回值
-
当两个函数之间,想要互相使用到内部变量时,就可以应用到函数的返回值。
-
函数的返回值定义:
-
tips
使用 return 关键字返回内容
将内容 返回到 函数调用处
函数体中没有 return 语句时,函数运行结束
则默认返回 None , 也被称为隐含返回值 -
表达式:
def function_name(param):
return param
res = function_name(param) -
eg. :
# 小栗子:
# 摄氏度与华氏度关系如:摄氏度/1.8 + 32 = 华氏度
# 需求:
# 定义函数1:用于输出摄氏度
# 定义函数2:通过摄氏度计算得出华氏度
def c_temp():
c_t = -3
print(f"今天摄氏度:{c_t}℃")
return c_t
def f_temp(n):
f_t = round(n/1.8) + 30
print(f"今天华氏度:{f_t}℉")
if __name__ == "__main__":
res = c_temp()
f_temp(res)
Run:
今天摄氏度:-3℃
今天华氏度:28℉
函数多个返回值
- 当执行函数体内代码时,遇到第一个 return 就将指定值返回到函数调用处,也就是执行到return这行代码,后面的都不执行了。
- 多个返回值时,用逗号隔开,但默认为元组。
- 格式:
def function_name(param1,param2):
return param1
return param2
res = function_name(param)
函数的作用域
作用域介绍
- Python 中,程序的变量并不是在哪个位置都可以访问的,访问权限决定于这个变量是在哪里赋值的。
- 变量的作用域决定了在哪一部分程序可以访问哪个特定的变量名称。Python 的作用域一共有4种,分别是:
L(local):局部作用域,即函数中定义的变量;
E(enclosing):嵌套的父级函数的局部作用域,即包含此函数的上级函数的局部作用域,但不是全局的;
G(global):全局变量,就是模块级别定义的变量;
B(build-in):内建作用域,系统固定模块里面的变量,比如:int()等;
global 关键字
- 当我们需要在函数内部直接修改全局变量时,我们可以将函数内部的局部变量通过 global 关键字声明为全局变量。