python - 要从一个类中调用一个函数,Python 是否会遍历该类的每个函数,直到找到要调用的函数?
问题描述
例如,假设我有这个:
class RandomFunctions:
def function_1:
print('function 1 calling')
def function_2:
print('function_2 activated')
def function_3:
print('function_3 activated')
def function_4:
print('function_4 activated')
RandomFunctions().function_4()
要调用function_4
,Python 是遍历类中的所有其他函数,检查它是否是正确的函数,还是直接调用它?
解决方案
function_4
是一个类属性,其名称存储在实现映射协议的对象中。查找是通过对该对象的直接索引来完成的。不涉及迭代,定义函数的顺序在很大程度上是无关紧要的。
>>> type(RandomeFunctions.__dict__)
<class 'mappingproxy'>
>>> RandomFunctions.__dict__['function_4'] is RandomFunctions.function_4
True
推荐阅读
- mongodb - 将外部数据导入hdfs:边缘节点是瓶颈吗?
- python - 在随机时间作为客户端接收服务器消息
- c - 多窗口绘画
- node.js - @UsePipes(ValidationPipe) 不适用于泛型(抽象控制器)
- javascript - 在条件下隐藏 div
- bean-io - 如何抑制 BeanIO XML 生成中的根元素?
- laravel - 此集合实例上不存在属性 [id]。(看法
- javascript - 在 node.js 中平均来自标准输入的整数输入的问题
- python - 无法使用 pydevd-pycharm 连接到远程调试服务器
- c# - MVC5如何在控制器中过滤“等于或小于”