Как иметь разные типы ввода для одной и той же функции?

Основная идея того, что я хочу сделать, это :

def aFuncion(string = '', dicti = {}):
    if len(str) > 0:
         print 'you gave string as input'
    if len(dicti) > 0:
         print 'you gave a dict as input'

aFunction(string = 'test')
dict['test'] = test
aFunction(dicti = dict)

Я знаю, что такая идея возможна в большем количестве языков объектно-ориентированного типа, но возможно ли это и в python?

Сейчас я делаю

def aFuncion(input):
    if type(input) == str:
         print 'you gave string as input'
    if type(input) == dict:
         print 'you gave a dict as input'

aFunction('test')

Но я хочу, чтобы разница была очевидна, когда функция functio n называется

5
задан Niek de Klein 10 February 2012 в 09:41
поделиться