Python 函数篇——map,filter,reduce,zip,enumerate


1、函数的基本使用

1.1函数的定义

   函数是一段具有特定功能的、可重复的语句组,用函数名来表示并通过函数名进行功能调用。函数也可以看做是一段具有名字的子程序,可以在需要的地方调用执行,不需要在每个执行的地方重复编写这些语句。每次使用函数可以提供不同的参数作为输入,以实现对不同数据的处理;函数执行后,还可以反馈相应的处理结果。
  使用函数主要有两个目的:降低编程难度和代码重用。函数是一种功能抽象,利用它可以&讲一个复杂的大问题分解成一系列简单的小问题,然后将小问题继续划分成更小的问题,当问题细化到足够简单时,就可以分而治之,为每个小问题编写程序,并通过函数封装,当各个小问题都解决了,大问题也就迎刃而解了。函数可以在一个程序中的多个位置使用,也可以用于多个程序,当需要修改代码时,,只需要在函数中修改一次,所有调用位置的功能都更新了,这种代码重用降低了代码行数和代码维护难度。

  Python使用def保留字定义一个函数,语法形式如下
  def <函数名>(<参数列表>):
    <函数体>
    return <返回值列表>

  函数名可以是任何有效的python标识符;参数列表是调用改函数是传递给它的值,可以与零个、一个或多个,当传递多个参数时各参数由逗号分隔,当没有参数时也要保留圆括号。函数定义中参数列表里面的参数是形式参数,简称为“形参”。函数体是函数每次被调用时执行的代码,由一行或多行语句组成。当需要返回值时,使用保留字return和返回值列表,否则函数可以没有return语句,在函数体结束位置将控制权返回给调用者。
  函数调用和执行的一般形式如下
  <函数名>(<参数列表>)
  此时,参数列表中给出要传入函数内部的参数,这类参数成为实际参数,简称为“实参”。
  参数定义与传递的基本顺序:
    位置参数 ⟹ \Longrightarrow 关键字参数 ⟹ \Longrightarrow 可变数量参数

1.2 函数的调用过程

程序调用一个函数需要执行以下4个步骤:
(1)调用程序在调用处暂停执行
(2)在调用时将实参复制给函数的形参
(3)执行函数体语句
(4)函数调用结束给出返回值,程序回到调用前的暂停处继续执行

1.3 lambda函数

  lambda保留字用于定义一种特殊的函数——匿名函数,又称lambda函数。匿名函数并非没有名字,而是将函数名作为函数结果返回,语法格式如下
  <函数名> = lambda <参数列表> : <表达式>
  lambda函数与政策函数一样,等价于下面形式:
  def <函数名> (<参数类表>):
    return <表达式>

  简单的说,lambda函数用于定义简单的、能够在一行内表示的函数,返回一个函数类型,实例如下:

>>> f = lambda x, y : x**y
>>> f(3,4)
81

>>> def f(x,y):
       z = x ** y
       return z
>>> f(3,4)
81

  lambda表达式只可以包含一个表达式,该表达式的计算结 果可以看作是函数的返回值,不允许包含复合语句,但在表达式中可以调用其他函数。
  lambda函数应用
  谨慎使用lambda函数
  - lambda函数主要用作一些特定函数或方法的参数
  -lambda有一些固定使用方式,建议逐步掌握
  -一般情况,建议使用def定义普通函数

2、函数的参数传递

2.1 可选参数和可变数量参数

  在定义函数时,如果有些参数存在默认值,即部分参数不一定需要调用程序输入,可以在定义函数时直接为这些参数指定默认值。当函数被调用时,如果没有传入对应的参数值,则使用函数定义时的默认值替代。
  由于函数调用时需要按顺序输入参数,可选参数必须定义在非可选参数的后面。

>>> def f(x, y =1):
        return x+y
>>> f(1)
2
>>>f(2,8)
10

  在定义时

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值