[Tutor] conditional execution
Peter Otten
__peter__ at web.de
Fri Apr 4 13:16:40 CEST 2014
spir wrote:
> On 04/01/2014 06:24 PM, Zachary Ware wrote:
>> Hi Patti,
>>
>> On Tue, Apr 1, 2014 at 11:07 AM, Patti Scott <pscott_74 at yahoo.com> wrote:
>>> I've been cheating: comment out the conditional statement and adjust
>>> the indents. But, how do I make my program run with if __name__ ==
>>> 'main':
>>> main() at the end? I thought I understood the idea to run a module
>>> called
>>> directly but not a module imported. My program isn't running, though.
>>
>> The simple fix to get you going is to change your ``if __name__ ==
>> 'main':`` statement to ``if __name__ == '__main__':`` (add two
>> underscores on each side of "main"). To debug this for yourself, try
>> putting ``print(__name__)`` right before your ``if __name__ ...``
>> line, and see what is printed when you run it in different ways.
>>
>> Hope this helps, and if you need any more help or a more in-depth
>> explanation of what's going on, please don't hesitate to ask :)
>
> And you don't even need this idiom if your module is only to be executed
> (not imported). Just write "main()".
How do you write tests for the code in the module then?
More information about the Tutor
mailing list