广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件专业 > Python专业 > 正文

实例!

作者:张荣德发布时间:2022-11-28分类:Python专业浏览:451


导读:猜猜看输出是什么?ClassA:  ans=9def__init__(self):    self...

猜猜看输出是什么?


Class A:

    ans = 9 def __init__(self):

        self.answer = 10

        self.__add__ = lambda x, y: x.answer + y    

    

    def __add__(self, y):

        return self.answer - yprint(A() + 4)

答案:6


现在你一定想知道我们是如何得到6的! 这是因为,为了解决一个属性名,Python 首先在实例层搜索它,然后在类层搜索,最后在父类中搜索。除了 dunder 方法之外,这对所有的东西都是正确的。在搜索它们时,Python跳过了实例检查,而是直接在类中搜索。 因此(10-4)=6就是答案。



Python专业排行
标签列表
网站分类
文章归档
最近发表