Member 13987161 Ответов: 1

Проверьте тип данных с помощью аргумента функции в 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') 

		    
                    

1 Ответов

Рейтинг:
2

Richard MacCutchan

Это, кажется, работает под Python 3, я предлагаю вам обновить его. Также видеть 3. Модель данных — документация Python 3.4.9[^].