>>>>> "Frans" == Frans Englich <[EMAIL PROTECTED]> writes:
Frans> Hello, Frans> Since Python doesn't have static typing, how is the same Frans> result as traditional function overloads results in Frans> acheived? With function overloads the "selection of code Frans> path depending on data type" is transparent and automatic Frans> since the typing system figure out what goes to what. Frans> But in Python, when one wants to be able to pass different Frans> data types into a single "entry point" for functionality, Frans> how is that best done? To in a function do an if statement Frans> with the type() function? Using type or isinstance is one way to do it. The other way is "duck typing". If it walks like a duck and talks like a duck, it probably is a duck. The core idea is that we care less about what type an object is, and more about what services the object provides. Eg def myoverload(x): try: noise = x.quack() except AttributeError: # do something else... else: # do something with noise Variants to the try/except approach include hasattr, getattr and so on.. googling python duck typing should speed you on your way. JDH -- http://mail.python.org/mailman/listinfo/python-list