返回顶部
首页 > 资讯 > 后端开发 > Python >5.2Python函数(二)
  • 854
分享到

5.2Python函数(二)

函数Python 2023-01-30 23:01:45 854人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录 目录 前言 (一)偏函数 ==1.说明== ==2.原代码== ==3.显示效果==

目录

  • 目录
  • 前言
  • (一)偏函数
    • ==1.说明==
    • ==2.原代码==
    • ==3.显示效果==
  • (二)高阶函数
    • ==1.说明==
    • ==2.源代码==
    • ==3.运行效果==
  • (三)返回值函数
    • ==1.说明==
    • ==2.源代码==
    • ==3.运行效果==
  • (四)匿名函数
    • ==1.说明==
    • ==2.源代码==
    • ==3.运行效果==
  • (五)闭包函数
    • ==1.说明==
    • ==2.源代码==
    • ==3.运行效果==

目录

前言

这一篇式相继上一篇5.1python函数(一)的进阶文章。

一个重要的思想是:我们把”函数名“当成一个变量来处理。

(一)偏函数

==1.说明==

偏函数:在不修改原函数的原函数前提下,修改函数的默认值,新建的函数叫偏函数。

==2.原代码==

# 定义一个有默认值的函数
def test1(a, b, c, d=1):
    print(a+b+c+d)


# 现在有一个需求,想把默认值改为c=2,d=3
# 我们需要在重新构造一个全新的函数?
# 不需要,下面的定义类似类的继承,也就是偏函数的定义
def test2(a, b, c=2, d=3):
    test1(a, b, c, d)

# 调用偏函数
test2(1, 2)

==3.显示效果==

01.png

(二)高阶函数

==1.说明==

函数名也是一个变量,也可以通过赋值,传递给其他变量。

当函数的形参接收的是一个函数名的时候,则称该函数是高阶函数

==2.源代码==

# 动态的计算两个数
def caculate(num1, num2, caculatefun):
    result = caculatefun(num1, num2)
    print(result)


# 求差函数
def mysum(a, b):
    result = a + b
    print("求和函数")
    return result


# 求和和函数
def mysub(a, b):
    result = a - b
    print("求差函数")
    return result


# 调用高级函数
caculate(4, 2, mysum)
caculate(4, 2, mysub)

==3.运行效果==

02.png

(三)返回值函数

==1.说明==

当函数的返回值是:一个函数名称时,我们称返回值函数

==2.源代码==

# 定义一个返回值函数
def get_fun(symbol):
    # 子函数求和
    def my_sum(a, b):
        return a+b

    # 子函数求差
    def my_sub(a, b):
        return a-b

    # 根据判断返回不同的函数名
    if symbol == "+":
        return my_sum
    elif symbol == "-":
        return my_sub


# 调用返回函数
func = get_fun("+")
result = func(1, 2)
print(result)

==3.运行效果==

03.png

(四)匿名函数

==1.说明==

没有名字的函数,我们称匿名函数,也称lambda函数。

语法:lambda var1, var2,……:表达式

注意:只能写一个表达式,而且只能用一次。

==2.源代码==

# 定义一个匿名函数
func = lambda x, y: x + y
result = func(1, 2)
print("结果是:", result)

==3.运行效果==

04.png

(五)闭包函数

==1.说明==

首先清楚两个概念:

外部函数:在外出定义的函数。

内部函数:嵌套在一个函数里面的和函数。

闭包函数的定义:(满足三个条件)

  1. 必须有函数嵌套
  2. 内部函数引用到外部的变量
  3. 返回值是内部函数名

注:内部函数需要修改外部变量,需要用nolocal 声明

==2.源代码==

# 定义一个闭包函数
def test(a):
    b = 2
    def test2():
        nonlocal b
        b = 5
        print("a:", a)
        print("b:", b)
    return test2

# 调用闭包函数
fun = test(1)
fun()

==3.运行效果==

06.png

作者:Mark

日期:2019/02/04 周一

--结束END--

本文标题: 5.2Python函数(二)

本文链接: https://lsjlt.com/news/181047.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 5.2Python函数(二)
    目录 目录 前言 (一)偏函数 ==1.说明== ==2.原代码== ==3.显示效果== ...
    99+
    2023-01-30
    函数 Python
  • 函数(二)
    函数的嵌套 定义 函数内部定义的函数,无法在函数外部使用内部定义的函数 def f1(): def f2(): print('from f2') f2() f2() def f1(): def f2...
    99+
    2023-01-31
    函数
  • python 函数(二)
    一、高阶函数 1、函数名可以赋值 2、函数名可以作为函数参数 3、函数名可以作为函数的返回值 eg: def f1(n): return n*n def f2(a, b, f): return f(a) + f(b) ...
    99+
    2023-01-30
    函数 python
  • python函数(二)
    #6.传递任意个数的参数;#在定义函数时,若参数名前面使用“”,则表示可接受任意个数的参数,这些参数保存在一个元祖中。#定义函数,代表b是一个元祖,可以接受多个参数def add(a,*b):s=a#用循环迭代元祖b中的对象。for x ...
    99+
    2023-01-31
    函数 python
  • python—函数实例二
    一、递归 几种常用内置函数方法:1)os.listdir():列出第一层目录文件In [14]: os.listdir("/root/python") Out[14]: ['20.py', '1.py', '19.py', '21.py']...
    99+
    2023-01-31
    函数 实例 python
  • Python函数二(函数名,闭包,迭代器
    函数名的使用: 函数名可以作为值,赋值给变量。 函数名可以作为参数传参给函数。 函数名可以作为返回值。 函数名可以作为元素存储在容器里。 闭包:在嵌套函数内,使用外层局部变量(非全局变量)就是一个闭包,闭包可以多层嵌套。闭包的优点: ...
    99+
    2023-01-30
    函数 迭代 Python
  • day 14 内置函数二
    1.昨日的补充 reversed    翻转, 将一个序列翻转,返回翻转序列的迭代器 lst = ["河南话", "四川话", "东北", "山东", "上海"]   n = reversed(lst) print(list(n)) ...
    99+
    2023-01-30
    函数 day
  • InfluxDB学习之InfluxDB常用函数(二)选择类函数
    1)BOTTOM()函数作用:返回一个字段中最小的N个值。字段类型必须是长整型或float64类型。语法:SELECT BOTTOM(<field_key>[,<tag_...
    99+
    2024-04-02
  • MySQL数据库高级(二)——自定义函数
    MySQL数据库高级(二)——自定义函数 一、自定义函数简介 自定义函数 (user-defined function UDF)是一种对MySQL扩展的途径,其用法和内置函数相同。自定义函数的两个必要条件:...
    99+
    2024-04-02
  • php二维数组排序函数怎么用
    在PHP中,可以使用`array_multisort()`函数对二维数组进行排序。该函数可以按照指定的键或值对数组进行排序。下面是一...
    99+
    2023-10-10
    php
  • python-opencv第二期:imwrite函数详解
    概要:众嗦粥之所周知,在如今计算机视觉(Computer Version short for CV)是人工智能与机器人技术发展的一个重大研究方向,而opencv作为一个专门为计算机视觉编程提供技术与函数支持的第三方库,自然是一个需要重点研究...
    99+
    2023-09-24
    opencv python 计算机视觉
  • ASP函数如何生成二维码?
    二维码是一种可以被扫描的二维条形码,它可以存储大量的信息,如网站链接、文本、电话号码等等。在如今的数字时代,二维码已经成为了一种不可缺少的工具。在ASP中,生成二维码可以通过使用一些第三方库来实现。本文将介绍如何在ASP中使用二维码生成函...
    99+
    2023-09-03
    函数 二维码 javascript
  • day 16 - 2 内置函数(二)练习
    内置函数(二)练习 1、用 map 来处理字符串列表,把列表中所有人都变成 sb,比方 alex_sbname=['alex','wupeiqi','yuanhao','nezha']   name=['alex','wupeiqi',...
    99+
    2023-01-30
    函数 day
  • python二分法查找函数底值
    假设连续函数f(x)在区间(a,b)上有一个底值m,且在该底值下的函数输出值为M,即f(m)=M,利用二分法查找该底值:(s为足够小的数) 令t=(a+b)/2,若|f(t)-M|&...
    99+
    2024-04-02
  • C++中的二进制函数详解
    C++中的二进制函数详解二进制函数是计算机科学中一类重要的函数,它们基于二进制操作,用于处理二进制数据。在C++中,二进制函数提供了丰富的功能,可以进行位操作、位移操作以及逻辑操作。一、位操作位操作是对二进制数据的每一位进行操作的方法。C+...
    99+
    2023-11-18
    二进制函数分析
  • SQL 基础之时区函数(二十一)
    使用数据类型来存储两个日期时间值之间的时间差使用下列的日期时间函数:– CURRENT_DATE– CURRENT_TIMESTAMP– LOCALTIMESTAMP– DBTIMEZONE– SESSIO...
    99+
    2024-04-02
  • php转二进制的函数是什么
    这篇“php转二进制的函数是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php转二进制的函数是什么”文章吧。php转二...
    99+
    2023-06-30
  • C#中怎么处理动态二维数组函数
    这篇文章将为大家详细讲解有关C#中怎么处理动态二维数组函数,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。对于C#动态二维数组函数处理方案理解我们引入一个例子来看看生活中,有很多事物,仅仅用一...
    99+
    2023-06-17
  • ASP 函数和 Spring:存储数据的不二选择。
    在现代应用程序的开发中,存储和管理数据是至关重要的一步。ASP 函数和 Spring 是两种常用的框架,它们都提供了不同的存储数据的方式。在本文中,我们将探讨 ASP 函数和 Spring 的存储数据的方法,以及它们之间的差异和优缺点。 ...
    99+
    2023-10-06
    函数 spring 存储
  • ecshop二次开发之常用函数汇总
    本文详细汇总了ecshop二次开发中常用的函数。分享给大家供大家参考。具体如下: 最近进行ecshop的二次开发,整理了一部分的函数,另外在ecshop论坛上面也发现了很多函数说明,整理汇总如下,供大家参考。 所有函数功...
    99+
    2022-06-12
    ecshop 二次开发 常用函数 汇总
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作