網站首頁 編程語言 正文
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的參數值選擇適當的內部函數,然后返回這個函數對象。返回的函數既可以直接調用,也可以先指定一個變量名再使用。
總結
原文鏈接:https://blog.csdn.net/u014612521/article/details/122441397
相關推薦
- 2022-08-14 python中matplotlib調整圖例位置的方法實例_python
- 2024-01-29 理解并使用 XPath 中的 `normalize-space` 函數
- 2022-08-22 詳解Go語言中for循環,break和continue的使用_Golang
- 2023-05-24 Python?的第三方調試庫????pysnooper???使用示例_python
- 2024-01-29 使用 Maven 進行項目構建:深入了解 `mvn clean install -U` 命令
- 2022-05-24 Django框架cookie和session方法及參數設置_python
- 2022-10-23 C#優雅的實現INotifyPropertyChanged接口_C#教程
- 2022-07-19 Redis中pop出隊列多個元素思考_實用技巧
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支