How do we pass default argument value to create thread object?

Jean-Michel Pichavant jeanmichel at sequans.com
Wed Mar 12 14:51:15 CET 2014


----- Original Message ----- 

> 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?

> Regards,
> ~Piyush
> Facebook Twitter

Hi,

try something like

thread = threading.Thread(target=Fun, args=("val1", "val2"), kwargs={"arg3":"val3"})

This will call
Fun("val1", "val2", arg3="val3")

Browse the python tutorial for details on arguments and keyword arguments.

Cheers,

JM


-- IMPORTANT NOTICE: 

The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.


More information about the Python-list mailing list