当前位置:  开发笔记 > 编程语言 > 正文

Python:在任何函数调用中创建一个返回None的类

如何解决《Python:在任何函数调用中创建一个返回None的类》经验,为你挑选了1个好方法。

我想知道是否有可能创建一个类,无论调用什么"方法",总是返回None.

例如,

# The following all returns None
Myclass.method1()
Myclass.method2(1, 2, 3)
Myclass.method2(1,2) 

基本上,我想实现一个类,这样

    任何未由类定义的非内置方法都被接受并被识别为有效方法.

    第1点的所有方法都将返回None

我知道这mock.MagicMock可以给我这个结果,但它很慢,所以我想知道是否有更好的方法来做到这一点.



1> user2357112 ..:

是的,很容易.

def return_none(*args, **kwargs):
    """Ignores all arguments and returns None."""
    return None

class MyClass(object):
    def __getattr__(self, attrname):
        """Handles lookups of attributes that aren't found through the normal lookup."""
        return return_none

推荐阅读
吻过彩虹的脸_378
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有