day_09 函数及参数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 1. 定义:把功能封装起来,方便下次直接调用 2. 语法: def 关键词开头,空格之后接函数名称和圆括号()。 def 函数名(形参) 函数体 3. 参数:圆括号用来接收参数。若传入多个参数,参数之间用逗号分割。 参数可以定义多个,也可以不定义。 参数有很多种,如果涉及到多种参数的定义,应始终遵循位置参数、 * args、默认参 数、 * * kwargs顺序定义。 3. 注释:函数的第一行语句应该添加注释。 4. 函数体:函数内容以冒号起始,并且缩进。 5. 返回值: return [表达式] 结束函数。 1. 函数内部不写 return ,默认返回NONE 2. 函数只写了 return ,返回NONE 3. 如果函数只写了一个返回值,则返回一个值 4. 如函数写了多个返回值,则调用者接收到一个元组,返回值是返回给调用方的. |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 1. 动态传参 1. 形参 1. 位置参数 2. 默认值参数 3. 动态传参 1. * args动态接收位置参数 传参的时候自动把实参打包成元组,交给形参 2. * * kargs动态接收默认值参数 接收的内容以关键字形式 位置参数> * rags>关键字参数> * * kargs # 顺序 位置 > *args > 默认值参数 > **kwargs def func( * args, * * kwargs): print (args, kwargs) * , * * 在形参位置聚合 * , * * 在实参位置打散(针对可迭代对象,如字符串,列表等,打散后一一传进去,或者字典打散成关键字) 2. 实参(函数的调用) 1. 位置参数 2. 关键字参数 3. 混合参数<br> 圆括号从来接收参数,若传入多个参数,应先按位置传,再按关键字传<br><br> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | 2. 返回值 如果函数有返回值,还应该定义变量来接收返回值 如果返回值有多个,也应该用相应数量的变量来接收返回值 1. 无返回值的情况 函数名() 2. 有返回值的情况 变量 = 函数名() 3. 多个返回值 变量 1 ,变量 2. ... = 函数名() 3. 名称空间与作用域 1. 名称空间:保存名字的的空间,包括函数,变量,类 1. 内置名称空间:存放python解释器为我们提供的 list print input 等 2. 全局命名空间:在python解释器中,在函数外声明的 3. 局部命名空间:在函数,类,模块内声明的,都属于局部命名空间 加载顺序:内置命名空间>全局命名空间>局部命名空间(函数被执行的时候) 取值顺序: 1. 在局部:局部命名空间>全局命名空间>内置命名空间 2. 在全局:全局命名空间>局部命名空间 |
1 2 3 4 5 6 7 8 9 | 2. 作用域:作用范围 1. 全局作用域:包含全局命名空间和内置命名空间(在整个文件的任何地方都可以使用) 2. 局部作用域:局部命名空间 3. 用法 print ( globals ())返回全局作用域的名字 print ( locals ())返回局部作用域名字 4. 函数的嵌套 每一层都会产生自己的命名空间 5. globals :查看全局作用域的名字 nonlocal:在局部引入上一层空间变量,如果没有,继续上一层,(一层一层往上) |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器