Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中使用if来检查变量的类型?_Python_Python 3.x_Dictionary - Fatal编程技术网

如何在python中使用if来检查变量的类型?

如何在python中使用if来检查变量的类型?,python,python-3.x,dictionary,Python,Python 3.x,Dictionary,我正在寻找一种方法,将我不知道它们是什么类型的程序的所有输出转换成字典。。。 我想到这样一个解决方案: if type(body) != dict: body = {'result': body} 我知道这是错误的! 如果变量的类型不是dictionary,我们是否可以用它来制作dictionary 如果您的对象不是dict,但可以很容易地转换为dict,例如成对列表,则可以使用: def make_a_dict(some_object): if isinstance(some

我正在寻找一种方法,将我不知道它们是什么类型的程序的所有输出转换成字典。。。 我想到这样一个解决方案:

if type(body) != dict:
    body = {'result': body}
我知道这是错误的!
如果变量的类型不是dictionary,我们是否可以用它来制作dictionary

如果您的对象不是dict,但可以很容易地转换为dict,例如成对列表,则可以使用:

def make_a_dict(some_object):
    if isinstance(some_object, dict):
        return some_object
    else:
        try:
            return dict(some_object)
        except:
            return {'return': some_object}

print(make_a_dict({'a': 'b'}))
# {'a': 'b'}
print(make_a_dict([(1,2),(3,4)]))
# {1: 2, 3: 4}
print(make_a_dict(2))
# {'return': 2}

错了为什么?它起作用了。也许使用iInstance可以检查dict的子类,但实际上你可以将字典放入字典中。但你们能不能再多指定一点你们想要的,若你们有更多的代码,就发布更多的代码?这是一个响应soap web服务的服务器角色的大程序。我给出了wsdl及其方法,该程序返回客户端Web服务的答案。由于UI团队,我必须将web服务的答案更改为正确的json@金日成