Python2205-day12-函数基础2

Python2205-day12-函数基础2

函数的参数

  • 1.位置参数和关键字参数 - 根据调用函数的时候,实参的提供方式不同来分类
    • 1)位置参数:以’数据1,数据2…’形式存在,通过位置和形参一一对应
    • 2)关键字参数:以’形参1=数据1,形参2=数据2…'形式存在(交换关键字参数的位置不影响结果)
    • 注意:
      • a.位置参数和关键字参数可以一起使用,但位置参数必须放在关键字参数前面
      • b.不管以什么形式传参,都必须保证每个参数都有值
  • 2.参数默认值
    • 在定义函数的时候可以以‘形参名=数据‘的方式给参数赋默认值,调用函数时有默认值的参数可以不用传参
    • 注意:定义函数时判断参数是否有默认值,没有默认值的参数都必须在有默认值参数前面
  • 3.参数类型说明 - 可以让形参在函数中使用的时候有相关的代码提示
    • 1)没有默认值的参数直接在参数名后面加’:类型名’
    • 2)有默认值的参数默认值类型就是说明的类型
      • 补充:通过类型注释对变量进行类型说明
  • 4.不定长参数(了解) - 参数个数不确定
    • 1)带*的不定长参数:
      • 在定义函数时在某个参数前加*,就可以让这个参数同时接受多个实参
      • 带*的不定长参数的本质是一个元组,它接受到的所有实参会成为这个元组的元素
      • 注意:
        • a.带*的不定长参数只能用位置参数传参
        • b.带*的不定长参数前面的定长参数只能用位置参数传参
        • c.在带*后面的定长参数只能使用关键字参数传参
    • 2)带**的不定长参数
      • 定义函数时在某个参数前加**,就可以让这个参数同时接收多个实参(只能是关键字参数)
      • 带**的不定长参数的本质是一个字典,它接收的所有关键字参数会成为这个字典的元素
    • 形参列表中如果单独一个*,其目的只是想要在调用函数时*后面的参数使用关键字参数,*前面的参数必须使用位置参数。
    • *args,**kwargs 存在的目的是为了让函数在调用时足够灵活(即可使用不定个数位置参数,也可使用不定个数关键字参数,位置参数和关键字一起使用)

函数的返回值

  • 1.初学者使用返回值的建议:只要实现函数的功能产生了新数据,就将新数据作为返回值
  • 2.什么是返回值 - 返回值就是从函数内部传递到函数外部的数据(每个函数只能传一个数据到函数外部)
    • 1)在函数内部怎么确定函数返回值 - return后面额度值就是函数的返回值
      • 在函数体实现函数功能的时候,可以在任何需要的地方(一般在最后)通过return关键字,将需要传递到函数外部的数据作为返回值返回
      • return使用方法: return 需要返回的数据
    • 注意:
      • a.return除了可以返回数据,还会提前结束函数(执行函数体遇到return整个函数直接结束)
      • b.如果执行函数体时没有遇到return,这个函数的返回值就是None
    • 2)在函数外部怎么使用函数返回值
      • 使用函数调用表达式的值就是使用函数的返回值(函数调用表达式有结果,这个结果就是调用函数时获得的返回值)
      • 返回值能做的事,函数调用表达式都可以做

变量作用域

  • 1.全局变量
    • 全局变量指的是没有定义在函数或类中的变量,全局变量的作用域是从定义开始到程序结束.
  • 2.局部变量
    • 定义在函数中的变量是局部变量,局部变量的作用域是从定义开始到函数结束(形参是局部变量)
  • 3.关键字global
    • 如果想要在函数里面定义一个全局变量或修改一个全局变量的值,需要在函数中使用这个变量前加global进行说明
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值