Larry Bates wrote:

> Philippe Martin wrote:
>> Hi,
>> 
>> This code works, but is it "appropriate" ?
>> 
>> l_init = False
>> 
>> if True == l_init and 1234 = l_value:
>>  print 'l_value is initialized'
>> 
>> I know I can do this with a try but ...
>> 
>> Philippe
>> 
>> 
> 1) You have a syntax error 1234 == l_value (note ==)
> 2) This doesn't test to see if l_value is initialized
>    because if it isn't you get:
> 
> Traceback (most recent call last):
>   File
>   "C
\Python24\Lib\site-packages\pythonwin\pywin\framework\scriptutils.py",
> line 310, in RunScript
>     exec codeObject in __main__.__dict__
>   File "junk.py", line 1, in ?
>     if True == l_init and 1234 == l_value:
> NameError: name 'l_init' is not defined
> 
> 3) It is unclear what l_init is used for in this context.
>    Setting it to True doesn't tell you anything about l_value.
> 
> Normally you do something like:
> 
> l_value=None
> .
> . Intervening code
> .
> if l_value is None:
>     print "l_value uninitialized"
> 
> Or (something I never use):
> 
> if not locals().has_key('l_value'):
>     print "l_value uninitialized"
> 
> 
> -Larry Bates


l_init really is a boolean parameter and l_value a value that _might_ exist
in a shelve.

So I just want to have a parameter to a method so if the first value tested
is false (l_init) then the second (l_value) does not get tested ... because
it is the second in the statement and only seems to get evaluated if the
first one is true.

Philippe




-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to