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:在局部引入上一层空间变量,如果没有,继续上一层,(一层一层往上)

  

posted @   阿布_alone  阅读(98)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
TOP
点击右上角即可分享
微信分享提示