python从对象获取类名

Han*_*ong 1 python string classname args

我试图返回一个版本号,并提供一种实现异常的方法.

由于异常可以用于我的任何类,我试图从对象中获取类名.

问题是,我得到一个元组而不是字符串:

def version_control(*args):
    version = 1.0
    print args
    #Exception example:
    print str(args.__class__.__name__)
    if 'User' == args.__class__.__name__:
        version = 12.3

    return version
Run Code Online (Sandbox Code Playgroud)

如何更改str(args.__class__.__name__)以这种方式将类的名称作为字符串返回?

Eri*_*ric 5

我得到一个元组而不是字符串

不,你得到的是字符串 "tuple"而不是其他字符串,因为它args是一个参数元组.

当你打电话version_control(obj, 1, 2),args == (obj, 1, 2).你想要看args[0],在这个例子中obj