如果调用一个虚线名称,它将尝试评估任何没有明显副作用(函数不会被评估,但可以生成调用__getattr__())的东西,直到最后一部分,并通过该dir()函数查找其余部分的匹配。
请注意,通过__getattr__()钩子,所有属性都会被延迟计算,因此如果仅使用那些轻量级计算的属性,则不会有速度损失。 left 目录a。 right 目录b。
这允许实现自定义__getattr__()或__getattribute__()功能的对象自定义dir()报告其属性的方式。
:obj=getattr(obj,name)returnobj 2.4版本中的新功能。 在版本2.5中进行了更改:增加了对多个属性的支持。 在版本2.6中更改:添加了对虚线属性的支持。
其他属性引用将表示为实例属性中的Getattr节点。exprAssAttr 3.3.例子 本节展示了Python源代码AST的几个简单例子。
因此,例如,字段表达式'0.name'将导致get_value()被调用,其关键参数为0.name属性将在get_value()返回后通过调用内置的getattr()函数来查找。
LOAD_ATTR(namei) 用getattr(TOS,co_names[namei])替换TOS。 COMPARE_OP(opname) 执行布尔操作。
注意 在在unpickle时,一些方法,如__getattr__(),__getattribute__()或__setattr__()可在该实例调用。
_callmethod(methodname,args,kwds) 将评估表达 getattr(obj,methodname)(*args,**kwds) 在经理的过程中。

扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2026 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059
粤公网安备44030502008569号
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号
