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 <[EMAIL PROTECTED]>
 infoSense AS / development
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to