How do we pass default argument value to create thread object?
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 https://www.facebook.com/piyushkv1 Twitterhttps://twitter.com/SocializePiyush -- https://mail.python.org/mailman/listinfo/python-list
Re: How do we pass default argument value to create thread object?
- 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. -- https://mail.python.org/mailman/listinfo/python-list
Re: How do we pass default argument value to create thread object?
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