Python函数的嵌套详解

 更新时间:2022年01月12日 08:59:30   作者:围城客  
这篇文章主要为大家介绍了Python函数的嵌套,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助

Python允许在函数中定义函数,这通常被称为嵌套函数或者内部函数。

def speak(text):
    def my_lower(t):
        return t.lower() + '...'
    return my_lower(text)
print(speak('Aomi'))

每次调用speak()时,都会调用一个新的内部函数my_lower()并立即调用。

但是my_lower()只存在于speak内部,那怎么才能从speak外部访问嵌套的my_lower()函数呢?

由于函数是对象,因此可以将内部函数返回给父函数的调用者。

例如:

def get_speak_fun(volume):
    def my_lower(text):
        return text.lower() + '...'
    def yell(text):
        return text.upper() + '...'
    if volume> 0.5 :
        return yell
    else:
        return my_lower
fun = get_speak_fun(0.8)
print(fun('I am in Aomi'))

get_speak_fun实际上不调用任何函数,只是根据volume的参数值选择适当的内部函数,然后返回这个函数对象。返回的函数既可以直接调用,也可以先指定一个变量名再使用。

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

相关文章

  • python实现整数序列求和

    python实现整数序列求和

    这篇文章主要介绍了python实现整数序列求和,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • django接入新浪微博OAuth的方法

    django接入新浪微博OAuth的方法

    这篇文章主要介绍了django接入新浪微博OAuth的方法,实例分析了django针对新浪微博OAuth接口的接入技巧,需要的朋友可以参考下
    2015-06-06
  • python中模块导入模式详解

    python中模块导入模式详解

    这篇文章主要为大家介绍了python中模块导入的模式详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • Python中正则表达式详解

    Python中正则表达式详解

    Python 的 re 模块(Regular Expression 正则表达式)提供各种正则表达式的匹配操作,Python 会将正则表达式转化为字节码,利用 C 语言的匹配引擎进行深度优先的匹配。
    2017-05-05
  • Python中遍历列表的方法总结

    Python中遍历列表的方法总结

    在本篇文章里小编给大家分享了关于Python中遍历列表的方法以及知识点总结,有需要的朋友们学习下。
    2019-06-06
  • redis之django-redis的简单缓存使用

    redis之django-redis的简单缓存使用

    本篇文章介绍了redis之django-redis的简单缓存使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • QML使用Python的函数过程解析

    QML使用Python的函数过程解析

    这篇文章主要介绍了QML使用Python的函数过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • Python命名空间与作用域深入全面详解

    Python命名空间与作用域深入全面详解

    命名空间是从名称到对象的映射,大部分的命名空间都是通过 Python 字典来实现的,作用域就是一个可以直接访问命名空间的正文区域。程序的变量并不是在哪个位置都可以访问的,访问权限决定于这个变量是在哪里赋值的
    2022-11-11
  • 初学Python实用技巧两则

    初学Python实用技巧两则

    这篇文章主要介绍了初学Python实用技巧两则,包括可变参数的应用级execfile函数的用法,需要的朋友可以参考下
    2014-08-08
  • PyTorch如何创建自己的数据集

    PyTorch如何创建自己的数据集

    这篇文章主要介绍了PyTorch如何创建自己的数据集,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11

最新评论