pyhton基础-函数2

函数

可变/不可变类型

  • 所谓可变类型与不可变类型是指:数据能够直接进行修改,如果能直接修改那么就是可变,否则是不可变
  • 可变类型有: 列表、字典、集合
  • 不可变类型有: 数字、字符串、元组

递归函数

  • 定义: 如果一个函数在内部不调用其它的函数,而是自己本身的话,这个函数就是递归函数
  • 作用: 简化循环

匿名函数

  • 关键字: lambda

  • 格式: lambda [arg1 [,arg2,…argn]]:expression

    • lambda 参数1,参数2… :返回值
    • expression是函数的一个表达式,用于计算返回值。
    • 匿名函数不能直接调用print,因为lambda需要一个表达式
  • 应用场合

    • 函数作为参数传递

      • 1–自己定义函数
      • 2–作为内置函数的参数
  • lambda是没有函数名的 但是可以使用变量接收,变量内储存的是函数的引用

  • 可以省略参数

    • 用的很少
  • 返回值不能自动组包

  • 返回值可以为None,但是不能省略

  • lambda函数可以当做变量进行传递

  • 他只是函数的一种特殊的书写方式

  • 返回值内容可以是表达式(三木运算符),值,变量,函数(一般有返回值,没有返回值返回None,返回过程中函数会被执行)

  • sort

    • 容器.sort(key=lambda 元素:排序依据)

高阶函数

  • enumerate

    • 该函数可以在迭代序列时同时跟踪元素索引,返回一个由索引及其对应元素组成的迭代器。如下例子所示,enumerate()使我们可以访问元素的索引`
  • 在一个函数中传入了函数的引用

  • map

    • 使用容器中的每一个元素依次与函数进行计算,得到的结果返回map对象中

      • map对象是一个可迭代对象
  • reduce

    • 使用容器中的元素进行累计计算,每一次计算的结果保存到reduce中,进行下一次计算时,第一个参数填入保存的数据
  • filter

    • 使用容器中的每一个元素依次与函数进行计算,得到的结果如果是true就将其添加到filter对象中

      • filter对象是一个可迭代对象
  • 以上三个内置高阶函数不对原数据产生影响

函数使用注意事项

  • 1–自定义函数

    • 1–无参数,无返回值
    • 2–无参数,有返回值
    • 3–有参数,无返回值
    • 4–有参数,有返回值
    • 5–函数名不能重复
  • 2–调用函数

    • 1–调用的方式: 函数名([实参列表])
    • 2–如果调用的函数 在定义时有形参,那么在调用的时候就应该传递参数
    • 3–调用时,实参的个数和先后顺序应该和定义函数中要求的一致
    • 4–如果调用的函数有返回值,那么就可以用一个变量来进行保存这个值
  • 3–作用域

    • 1–在一个函数中定义的变量,只能在本函数中用(局部变量)
    • 2–在函数外定义的变量,可以在所有的函数中使用(全局变量)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿赵的小记录

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值