python - “在运行时创建的函数”
问题描述
我从这里了解到,第一类对象的一个特点是它可以在运行时创建。
我不清楚何时在运行时实际创建函数。谁能告诉我如何识别在运行时创建的函数和不是在运行时创建的函数?python中的所有函数都是在运行时创建的?
解决方案
那篇文章并不令人惊奇……Python中的所有内容都是“在运行时创建的”,您需要将其与编译语言(例如C)进行比较,以找出编译时间和运行时间之间的区别。您还可以与 PHP(您似乎已经使用过)之类的语言进行比较,在这些语言中,您必须调用诸如传递字符串之类的魔术方法call_user_func
,而不仅仅是传递函数对象。我不太了解 PHP,但它似乎与以下成语作斗争:
def foo(a):
def bar(b):
return a * b
return bar
baz = foo(3)
print(baz(5))
wherebaz
是一个“绑定”a
到 value的闭包3
,即保持对它的引用,以便以后可以使用它。我认为您需要创建一个在 PHP 中捆绑此功能的类和对象
我感觉像是一个演讲的链接:https ://www.youtube.com/watch?v=_AEJHKGk9ns可能有助于更好地理解名称和值在 Python 中是如何工作的。一个更高级的工具是dis
模块,它可以很好地理解这样的事情是如何工作的
推荐阅读
- python - 这个网站的价格是如何呈现的?
- php - 如何阻止垃圾邮件中的电子邮件
- ios - 如何在 Swift 中制作一个单词可点击的 UITextView?
- sql-server - 如何在“并行数据仓库”中使用 Null 输入参数创建存储过程?
- java - 运行多个 Firestore 查询并等待所有查询完成
- macros - 在方案中定义全局闭包的标准方法是什么?
- apache-flink - FLINK 中的 KeyBy(key1 or key2) 可以吗?
- python - 读取和操作 CSV 文件时遇到问题
- c# - 如何将多个任务设置为单个按钮
- javascript - 单击 jquery / javascript 后显示选项卡类