返回顶部
首页 > 资讯 > 后端开发 > Python >Python返回函数的原理及使用
  • 839
分享到

Python返回函数的原理及使用

2023-06-15 16:06:47 839人浏览 独家记忆

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

摘要

这篇文章主要介绍“python返回函数的原理及使用”,在日常操作中,相信很多人在Python返回函数的原理及使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python返回函数的原理及使用”的疑惑有所帮助!

这篇文章主要介绍“python返回函数的原理及使用”,在日常操作中,相信很多人在Python返回函数的原理及使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python返回函数的原理及使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

 

一、什么是返回函数?

返回函数,简单的说就是返回值是一个函数。

返回的是函数,调用返回的函数的时候才会返回结果。

二、闭包 (以返回函数的形式实现)

相关参数和变量都保存在返回的函数中,这种称为“闭包(Closure)”。

def returnre(a, b):     def re():         return a + b      return re  test01 = returnre(1, 2) test02 = returnre(1, 2) print(test01 == test02)  # 每次调用都会返回新生成的函数

Python返回函数的原理及使用

比如上面例子的re函数闭包的特性,嵌套定义在非全局作用域里面的函数,能够记住它在被定义的时候它所处的封闭命名空间。

来看一个例子:

def closur(a):     def myprint():         print(a)      return myprint  test = closur(1) test()

Python返回函数的原理及使用

代码解析:

变量a是函数closur的一个本地变量,只应该存在于函数运行时,但正因为闭包的特性,将a的值封装进了返回函数。

def closuretest02(*args):     f = []     for i in args:         def test():             return i**2         f.append(test)     return f test = closuretest02(1,2,3,4) for i in test:     print(i())

Python返回函数的原理及使用

返回闭包时牢记的一点就是:

返回函数不要引用任何循环变量,或者后续会发生变化的变量。

如果一定要引用循环变量怎么办?

方法是再创建一个函数,用该函数的参数绑定循环变量当前的值,无论该循环变量后续如何更改,已绑定到函数参数的值不变:

def count():     def f(j):         def g():             return j*j         return g     fs = []     for i in range(1, 4):         fs.append(f(i)) # f(i)立刻被执行,因此i的当前值被传入f()     return fs

再看看结果:

f1, f2, f3 = count() print(f1())  print(f2()) print(f3())

Python返回函数的原理及使用

注:

缺点是代码较长,可利用lambda函数缩短代码。

一个函数可以返回一个计算结果,也可以返回一个函数。返回一个函数时,牢记该函数并未执行,返回函数中不要引用任何可能会变化的变量。

三、拓展

nonlocal

nonlocal适用于嵌套函数中内部函数修改外部变量的值。

def outside():     a = 1     print('outside' + str(id(a)))     def inside():         nonlocal a         print('inside ' + str(id(a)))     inside() outside()

因为使用nonlocal后,返回了闭包中有父函数的变量,所以父函数那里不会被回收。

Python返回函数的原理及使用

四、总结

本文基于Python基础,介绍了返回函数。常见的返回函数的应用。函数作为返回值,闭包在实际应用中需要的点,遇到的难点,提供有效的解决方案。使用Python语言,能够更好的理解。

到此,关于“Python返回函数的原理及使用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: Python返回函数的原理及使用

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

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

猜你喜欢
  • Python返回函数的原理及使用
    这篇文章主要介绍“Python返回函数的原理及使用”,在日常操作中,相信很多人在Python返回函数的原理及使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python返回函数的原理及使用”的疑惑有所帮助!...
    99+
    2023-06-15
  • 解析Python中回调函数的原理及使用方式
    Python回调函数的原理和用法解析 回调函数是一种常见的编程技术,尤其在Python中被广泛使用。它可以使我们在异步编程中更加灵活地处理事件和执行任务。本文将对回调函数的原理和用法进行详细解析,并提供具体的代码示例。 一、回调...
    99+
    2024-02-02
    原理解析 用法分析
  • python函数的返回值
    返回值:return1.没有返回值    #不写return    #只写return:结束一个函数    #return None2.有一个返回值    #可以返回任何数据类型    #只要返回就可以接收到    #如果在一个程序中有多个...
    99+
    2023-01-30
    函数 返回值 python
  • C++ 函数返回值类型推断的原理
    c++++ 中函数返回值类型由编译器推断,原理是通过模板元编程(tmp)来分析函数体,根据 return 语句的返回值推导类型:单个 return 语句:返回值为返回表达式的类型。多个 ...
    99+
    2024-04-13
    c++ 代码可读性
  • python使用max函数返回参数的最大值
    在python中使用max函数返回参数最大值的方法max:max()函数的作用是返回给定参数的最大值。max()函数语法:max( x, y, z, .... )max()函数使用方法:print ("max(80, 100, 1000) ...
    99+
    2024-04-02
  • python中函数的返回值及类型详解
    目录1.返回值介绍2.带有返回值的函数3.保存函数的返回值4.四种函数的类型1.无参数,无返回值的函数2.无参数,有返回值的函数3.有参数,无返回值的函数4.有参数,有返回值的函数5...
    99+
    2023-05-14
    python函数返回值 python 返回值类型
  • python函数怎么返回多个返回值
    本篇内容主要讲解“python函数怎么返回多个返回值”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python函数怎么返回多个返回值”吧!一般情况下,函数只有一个返回值,但Python也支持函数...
    99+
    2023-06-30
  • Python 函数默认返回None原因有哪些
    小编给大家分享一下Python 函数默认返回None原因有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Python 有一项默认的做法,很多编程语言都没有,所...
    99+
    2023-06-16
  • python如何调用函数的返回值
    在Python中,可以通过将函数的返回值赋给一个变量来调用函数的返回值。例如:pythondef add_numbers(num1,...
    99+
    2023-10-20
    python
  • 使用JSON.toJSONString()返回{}的原因
    目录JSON.toJSONString()返回{}原因测试代码原因JSON.toJSONString的坑有些字段没有了1.问题2.解决方式3.原因JSON.toJSONString(...
    99+
    2024-04-02
  • Python递归函数的原理及应用
    本篇内容主要讲解“Python递归函数的原理及应用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python递归函数的原理及应用”吧!一、什么是递归函数在函数内部,可以调用其他函数。如果一个函数...
    99+
    2023-06-15
  • 使用函数或 st.session_state 的返回变量
    问题内容 我正在学习 streamlit 框架和 python。我的问题与代码设计有关。我正在使用函数将转换应用于 pandas 数据帧并返回变量以将其传递给另一个函数或显示给用户。另...
    99+
    2024-02-10
  • C++中fork函数的使用及原理
    目录fork函数的基本概况fork函数做的工作fork函数之后fork函数的基本概况 fork() 函数调用成功之后,会有两个返回值。当前进程,也就是父进程返回子进程的 pid,子进...
    99+
    2023-05-19
    C++ fork函数 C++ fork
  • 用python读取oracle函数返回值
    在oracle中创建一个函数,本来是想返回一个index table的,没有成功。想到文本也可以传输信息,就突然来了灵感,把返回值设置文本格式。考虑到返回数据量可能会很大,varchar2类型长度吃紧,于是...
    99+
    2024-04-02
  • Python返回函数、闭包、装饰器、偏函数怎么使用
    今天小编给大家分享一下Python返回函数、闭包、装饰器、偏函数怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1.返...
    99+
    2023-07-02
  • [python]函数返回多个return
    python支持函数直接返回多个变量,具体用法如下: >>> def test(): ... a=2 ... b=3 ... return a,b ... >>> print(t...
    99+
    2023-01-30
    多个 函数 python
  • python中返回函数的作用是什么
    这期内容当中小编将会给大家带来有关python中返回函数的作用是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。python可以做什么Python是一种编程语言,内置了许多有效的工具,Python几乎无...
    99+
    2023-06-14
  • python的函数中如何返回数组
    在python中使用bytearray函数返回数组,具体方法如下:bytearray函数:bytearray()函数的作用是返回一个新字节数组,并且数组里的元素是可变的。bytearray函数语法:class bytearray([sour...
    99+
    2024-04-02
  • python基础之函数的返回值
    函数的返回值 返回结果要怎么做,多个结果又要怎么做 # 函数返回值 # 概念:函数执行完以后会返回一个对象,如果在函数内部有return 就可以返回实际值, # 否则将会返...
    99+
    2024-04-02
  • python读取oracle函数返回值
    在oracle中创建一个函数,本来是想返回一个index table的,没有成功。想到文本也可以传输信息,就突然来了灵感,把返回值设置文本格式。 考虑到返回数据量可能会很大,varchar2类型长度吃紧,于...
    99+
    2022-06-04
    函数 返回值 python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作