Проверьте тип данных с помощью аргумента функции в Python
Я определил одну функцию, которая проверяет, что аргумент функции является (список, кортеж, словарь и строка) типом типа данных, используя оператор if-else и функцию типа python, но проблема в том, что когда я даю аргумент в виде списка и устанавливаю его идеально согласованным, но когда я даю кортеж или строку или словарь, он дает ошибку, я не получаю ее, потому что я новичок, поэтому мне нужна помощь.
Что я уже пробовал:
def anything(arg): if type(arg) == list: print 'yes it\'s a list element : {}'.format(arg) elif type(arg) == set: print 'this is a set: {}'.format(arg) # elif type(arg) == dict(arg): # print 'this is a dictionary element {}: {}'.format() elif type(arg) == tuple: print 'this is a tuple: {}'.format(arg) elif type(arg) == str: print 'this is a string: {}'.format(arg) else: print ('Invalid format') # anything(arg = {'arg' : 'ashish'}) #NOT WORKING anything(arg = ['ashish']) anything(arg = {'set'}) anything(arg = ('tuple')) #HERE TUPLE ALSO PROVIDE TYPE STRING HOW?? anything(arg = 'string')