5. Funciones predefinidas

Funciones predefinidas

Hay veces que necesitamos evaluar una expresión que no tiene que ver con símbolos matemáticos, por ejemplo, qué número de dos dados es más grande. Las funciones predefinidas nos sirven para este propósito.

Argumento: expresión que aparece entre los paréntesis de una llamada a una función
Pasar: proporcionar un argumento a una función
Llamada a una función: pedir a Python que evalúe una función

nombre_funcion(argumentos)

Reglas para la ejecución de una llamada a una función:
1. Evaluar cada argumento por separado, de izquierda a derecha
2. Llamar a la función, pasando los valores de los argumentos

EJEMPLO:
la función max() el argumento más grande de los dados:

>>> max (35.2, 45.0, 23, 3 * 4, 50 - 27 / 2) 
45.0

 

Para saber las variables predefinidas, podemos utilizar la función dir()

>>> dir( __builtins__ )
['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException', 'BufferError', 'BytesWarning', 'DeprecationWarning', 'EOFError', 'Ellipsis', 'EnvironmentError', 'Exception', 'False', 'FloatingPointError', 'FutureWarning', 'GeneratorExit', 'IOError', 'ImportError', 'ImportWarning', 'IndentationError', 'IndexError', 'KeyError', 'KeyboardInterrupt', 'LookupError', 'MemoryError', 'NameError', 'None', 'NotImplemented', 'NotImplementedError', 'OSError', 'OverflowError', 'PendingDeprecationWarning', 'ReferenceError', 'RuntimeError', 'RuntimeWarning', 'StandardError', 'StopIteration', 'SyntaxError', 'SyntaxWarning', 'SystemError', 'SystemExit', 'TabError', 'True', 'TypeError', 'UnboundLocalError', 'UnicodeDecodeError', 'UnicodeEncodeError', 'UnicodeError', 'UnicodeTranslateError', 'UnicodeWarning', 'UserWarning', 'ValueError', 'Warning', 'ZeroDivisionError', '__debug__', '__doc__', '__import__', '__name__', '__package__', 'abs', 'all', 'any', 'apply', 'basestring', 'bin', 'bool', 'buffer', 'bytearray', 'bytes', 'callable', 'chr', 'classmethod', 'cmp', 'coerce', 'compile', 'complex', 'copyright', 'credits', 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'execfile', 'exit', 'file', 'filter', 'float', 'format', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help', 'hex', 'id', 'input', 'int', 'intern', 'isinstance', 'issubclass', 'iter', 'len', 'license', 'list', 'locals', 'long', 'map', 'max', 'memoryview', 'min', 'next', 'object', 'oct', 'open', 'ord', 'pow', 'print', 'property', 'quit', 'range', 'raw_input', 'reduce', 'reload', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice', 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'unichr', 'unicode', 'vars', 'xrange', 'zip']

 

Se puede obtener ayuda de las diferentes funciones con help()

>>> help(pow)
Help on built-in function pow in module __builtin__:

pow(...)
    pow(x, y[, z]) -> number
    
    With two arguments, equivalent to x**y.  With three arguments,
    equivalent to (x**y) % z, but may be more efficient (e.g. for longs).

'z' entre corchetes significa que el tercer argumento es opcional


>>> help(abs)
Help on built-in function abs in module __builtin__:

abs(...)
    abs(number) -> number
    
    Return the absolute value of the argument.

 

Si creamos nosotros una función, también podemos definir la propia ayuda de dicha función, de la siguiente forma:

>>>def area_cuadrado(base):
 '''     (número) -> número
 La función es capaz de calcular el área de un cuadrado 
 '''
 return base ** 2
 >>>help(area_cuadrado)
 Help on function area_cuadrado in module __main__:

area_cuadrado(base)
    (número) -> número
    Devuelve el área de un cuadrado dada la base
>>>area_cuadrado(5)
25