How do we pass default argument value to create thread object?
Zachary Ware
zachary.ware+pylist at gmail.com
Wed Mar 12 10:12:39 EDT 2014
On Wed, Mar 12, 2014 at 8:09 AM, Piyush Verma <114piyush at 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
More information about the Python-list
mailing list