On Saturday, February 9, 2013 4:13:28 PM UTC+5:30, Chris Angelico wrote: > On Sat, Feb 9, 2013 at 9:29 PM, Vijay Shanker <deont...@gmail.com> wrote: > > > Hi > > > Inside a function i get a two arguments, say arg1 and arg2, how can i > > convert arg2 to same type as arg1 ? > > > I dont know type of arg1 or arg2 for that matter, I just want to convert > > arg2 to type of arg1 if possible and handle the exception if raised. > > > Also: > > >>>> int('2') > > > 2 > > >>>> float('2.0') > > > 2.0 > > >>>> coerce(2,2.0) > > > (2.0,2.0) > > > but coerce('2',2) fails.If int('2') equals 2, why should it fail ? > > > > You can get the type of any object, and call that: > > > > def coerce(changeme,tothis): > > return type(tothis)(changeme) > > > > ChrisA
well it will always return me this: <type 'str'> what i want is if i know arg1 is of string type(and it can be of any type, say list, int,float) and arg2 is of any type, how can i convert it to type of arg1, if arg1='hello world', type(arg1).__name__ will give me 'str', can i use this to convert my arg2 to this type, w/o resorting to if-elif conditions as there will be too many if-elif-else and it doesn really sounds a great idea ! thanks -- http://mail.python.org/mailman/listinfo/python-list