find isset() php function equivalent in python
Ola Natvig
ola.natvig at infosense.no
Tue Feb 1 04:47:25 EST 2005
Max M wrote:
> Ola Natvig wrote:
>
>> Olivier Noblanc ATOUSOFT wrote:
>>
>>> Hello
>>>
>>>
>>> What is the equivalent function of php isset() in python
>>
>>
>> try:
>> if variable:
>> # isset
>> pass
>> except NameError:
>> # not set
>> pass
>>
>
>
> you could use:
>
> >>> 'variable' in vars()
>
> But be aware that it is bad bad practice to do it like that.
>
> If you need variables that you don't know that name of, you should put
> them in a dictionary. They are made for that exact purpose.
>
> >>> unkown_vars = {}
> >>> unkown_vars['variable'] = 42
> >>> 'variable' in unkown_vars
> True
>
>
If it's a greater possibility that the 'variable' are set than it's not
you will get better performance when using:
try:
print unknown_vars['variable']
except KeyError:
print 'variable are not set'
istead of
if 'variable' in unknown_vars:
print unknown_vars['variable']
else:
print 'variable are not set'
You could even use
print unknown_vars.get('variable', 'variable are not set')
dictionary.get(key, default) returns the default if key are not located
in the dictionary, I'm not sure if the function uses the try / except
KeyError aproach or what it uses.
--
--------------------------------------
Ola Natvig <ola.natvig at infosense.no>
infoSense AS / development
More information about the Python-list
mailing list