函数的参数传递

1.可选参数和可变数量参数

  • 可选参数
    • 定义:某些函数在定义参数时就为一些参数设置默认值,在调用函数时可以不用为这些参数再传递值,而使用默认值,这种参数就称作可选参数。
    • 例:

    def fuc(a, b=c): #定义函数 b就是可选参数
    fuc(5) #使用函数
    可选参数必须在非可选参数后

  • 可变数量参数
    • 通过在参数前增加星号(*)实现
    • 定义:
      def vfunc(a, *b):
    • 调用:
      vfunc(1,2,3,4,5)
    • 调用时元组(2,3,4,5)传给变量b
    • 可变数量参数必须出现在参数列表最后

2.参数的传递

  • 按位置传递:按函数定义时参数列表的顺序为参数传值
  • 按名称传递:为参数传值时带上参数名,例如:fuc(c=1,a=4)

3.返回值

  • Python中函数可以返回0个1个或多个结果
  • 当返回多个结果时,以元组形式返回

4.函数对变量的作用

  • 全局变量和局部变量的概念
  • Python函数对变量的作用遵循如下原则:
  1. 简单数据类型无论与全局变量是否重名,仅在函数内部创建和使用,当函数退出时被释放,如果与全局函数同名,全局变量的值不变。
  2. 简单数据类型变量在用global保留字声明后,作为全局变量使用,函数退出后该变量保留且值被函数改变。
  3. 对于组合类型(如列表类型)的全局变量,如果函数内部没有内真实创建的同名变量,则函数可以直接使用并修改全部变量的值。
  4. 如果函数内部真实创建了组合类型变量,无论是否有同名全局变量,函数进队局部变量进行操作,函数退出后局部变量被释放全局变量值不变。
    原文作者:苦逼李
    原文地址: https://www.jianshu.com/p/5f3920c8f1b6
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞