Skip to content

Latest commit

 

History

History
21 lines (18 loc) · 1.05 KB

File metadata and controls

21 lines (18 loc) · 1.05 KB

再谈函数

我们在定义函数的时候,如果不能确定参数有几个,可以使用星号(*)加上变量名的方式,来一次性收集多个传入的参数。使用这种方法拿到的多个参数,会被保存在一个元组里。

  • def 函数名(普通参数1,普通参数2,...,普通参数n,* 变长参数)

  • 一次传入多个参数并保存在元组中

  • 普通参数要放在不限个数的特殊参数之前

  • def 函数名(普通参数1,普通参数2,...,普通参数n,* 变长参数,** 字典参数)

    • 一次传入多个参数并转换成字典
  • 少用全局变量

    • 对多个方法的代码块都有影响,不好排查问题
    • 局部变量和全局变量的名称要避免冲突,否则会可能导致bug
  • 递归:

    • 函数循环地调用自己
    • 要注意递归的退出条件
    • 所有循环的代码都可以通过递归来实现
      • 但是递归比循环用的场合少
        • 递归占用资源多
        • 循环更容易编写
      • 斐波那契函数就适合使用递归编写