PYTHON function_exists

is this article helpful?
Python replacement for PHP's function_exists [ edit | history ]
This snipplet only works if you want to check if a function exists in your current module, but not inside os.path or so:

funcName = "MyFunction"

	func = locals()[ funcName ]
	if callable( func ):
		func( argumentA, argumentB )      # depends on function, of course
	print funcName, "is not defined"

# please note I'm a beginner, don't punish me if it is not the most beautiful way ;-)

An actual replacement rather than a snippet:

import types

def function_exists(fun):
  '''As in PHP, fun is tested as a name, not an object as is common in Python.'''
    ret = type(eval(str(fun))
    return ret in (types.FunctionType, types.BuiltinFunctionType)
  except NameError:
    return False

PHP function_exists

PHP original manual for function_exists [ show | ]


(PHP 4, PHP 5)

function_existsReturn TRUE if the given function has been defined


bool function_exists ( string $function_name )

Checks the list of defined functions, both built-in (internal) and user-defined, for function_name .



The function name, as a string.

Return Values

Returns TRUE if function_name exists and is a function, FALSE otherwise.

Note: This function will return FALSE for constructs, such as include_once() and echo().


Example #1 function_exists() example

if (function_exists('imap_open')) {
"IMAP functions are available.<br />\n";
} else {
"IMAP functions are not available.<br />\n";


Note: A function name may exist even if the function itself is unusable due to configuration or compiling options (with the image functions being an example).

See Also