On Wed, Mar 12, 2014 at 8:09 AM, Piyush Verma <114piy...@gmail.com> wrote: > Hi, > > I am using Thread class to create threads. > <CODE> > thread = threading.Thread(target=Fun, args=[arg1, arg2, arg3="val"]) > thread.start() > </CODE> > > This code is throwing compilation error(Ipython). > In [19]: import threading > > In [20]: def Fun(agr1, arg2, arg3=None): > ....: pass > ....: > > In [21]: thread = threading.Thread(target=Fun, args=[arg1, arg2, > arg3="val"]) > ------------------------------------------------------------ > File "<ipython console>", line 1 > thread = threading.Thread(target=Fun, args=[arg1, arg2, arg3="val"]) > ^ > SyntaxError: invalid syntax > > How do we pass the value to default arguments while creating thread object?
Use the 'kwargs' argument: thread = threading.Thread(target=Fun, args=[1, 2], kwargs={'arg3': "val"}) See http://docs.python.org/3.4/library/threading#threading.Thread for more info. Hope this helps, -- Zach -- https://mail.python.org/mailman/listinfo/python-list