如何将具体的类名称作为字符串?

这个问题在这里已经有了答案:

  • 在Python 8中获取实例的类名答案

  •  instance.__class__.__name__
    

    例:

    >>> class A():
        pass
    >>> a = A()
    >>> a.__class__.__name__
    'A'
    

    <object>.__class__.__name__
    

    你也可以用类自身作为键创建一个字典,不一定是类名

    typefunc={
        int:lambda x: x*2,
        str:lambda s:'(*(%s)*)'%s
    }
    
    def transform (param):
        print typefunc[type(param)](param)
    
    transform (1)
    >>> 2
    transform ("hi")
    >>> (*(hi)*)
    

    这里typefunc是一个为每种类型映射函数的字典。 transform获取该函数并将其应用于参数。

    当然,使用'真正'的OOP会好得多

    链接地址: http://www.djcxy.com/p/40935.html

    上一篇: How to get the concrete class name as a string?

    下一篇: Return inherited Python class based on C++ return types