函数

本文围绕函数展开,介绍了函数以功能为导向,能增加代码复用性和可读性。阐述了函数的结构、调用、返回值、传参等知识,包括实际参数和形式参数的类型。还从空间角度研究函数,涉及全局、局部和内置命名空间,以及取值和加载顺序、作用域等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

函数

初识函数

以功能为导向的,一个函数实现一个功能

函数增加了代码的复用性,和可读性

函数的结构

def 函数名(参数):
    #函数体
    ...
    return 返回值
函数名(参数)## 函数的执行/调用 

函数的调用

函数名 + (参数) 函数的执行者

函数的返回值

返回给 函数的执行者

return ## 返回None

return a ## 返回 a

return a,b ## 返回(a,b)

函数的传参

实际参数

调用时传入的是实际参数

1 位置参数 一一对应

2 关键字参数

3 混合参数 ## 传参数时 关键字必须要写在默认参数的后面

形式参数

1 位置参数

2 默认值参数 # 在位置参数的后面,传值时可以关键字传,也可以位置传

3 万能参数

args (函数定义时,将实参角度的所有位置参数,聚合到一个元组中,重点是 )

**kwargs(函数定义时,将实参角度所有关键字参数,聚合到一个字典中)

4 仅限关键字参数:位置在默认参数和**kwargs之间,只能以关键字的方式传值

* 的魔性用法

* 实际是 迭代后面的对象
当函数定义时,*代表聚合   **聚合关键字参数 成字典
当函数执行时,*代表打散/解构   **打散字典

函数外,* 可以接收剩余元素
lis = [1,2,3,4,5]
a,b,*c = lis
print (c)
## [3,4,5]
注意 a,*c,b = (1,2,3,4,5)  此时的 c 也是列表类型  [2,3,4]

空间角度研究函数

全局命名空间

py文件运行时,储存执行的py文件中(除去函数内部)的所有变量与值或地址的对应关系,整个py文件结束后,才会消失

局部(临时)命名空间

函数执行时,在内存中临时开辟的一个空间,存放的是函数中的所有变量和值或地址的对应关系,函数执行结束,就会释放临时空间

内置命名空间

input print 等内置函数等

取值顺序和加载顺序

加载顺序: 内置-->全局-->(函数执行时)局部

取值顺序: 就近原则 局部 -- > 全局 -- > 内置

作用域

全局作用域:全局命名空间 内置命名空间

局部作用域:局部命名空间

globals() locals()

globals 返回全局作用域的所有变量和值

locals 返回当前作用域的所有变量和值

转载于:https://www.cnblogs.com/albert0823/p/11045338.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值