python - Python 如何在较低级别实际存储和调用函数?
问题描述
Python 中的一切都是对象,甚至函数也是对象,反过来,它们也是一等函数。此外,它还允许使用 Monkey Patching 等技术。
但是,在底层内部,Python 如何存储一个函数并最终调用它?
解决方案
在低级别,可调用对象由中描述的许多 C 函数call.c
调用(取决于可调用对象的类型和传递的参数)。
函数(一种特殊的可调用对象)存储为 python 函数对象,可以在types.FunctionType
.
推荐阅读
- intellij-idea - intellij 代码格式:less
- python - 将两个从范围创建的列表与不同的步骤结合起来,并为一定数量的索引重复值
- spring - 在 AWS 中为 SQS 定义 BackoffStrategy
- java - 如何在android上连续发出哔哔声
- android - 具有任何附加属性的服务属性装饰器会导致 Android marshmallow 上的“无法解析包”问题
- ruby-on-rails - 使用 first_or_create 时 nilClass 的未定义方法“+”
- java - 哪个是在 windows java 中执行 curl 命令的等效命令?
- ios - 从 UITableView 删除行时发生奇怪的崩溃
- r - 将最后一个和下一个非 NA 值与均匀增长的中间值桥接
- javascript - 如何使用选择过滤 Google Maps API v.3 中 json 数据中的属性?