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"

try:
	func = locals()[ funcName ]
	if callable( func ):
		func( argumentA, argumentB )      # depends on function, of course
except:
	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.'''
  try:
    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.net ]

function_exists

(PHP 4, PHP 5)

function_existsReturn TRUE if the given function has been defined

Description

bool function_exists ( string $function_name )

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

Parameters

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().

Examples

Example #1 function_exists() example

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

Notes

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