Grupo de sentencias dentro de un programa que forman un bloque (un subprograma) que realiza un número determinado de operaciones sobre un conjunto de argumentos dado y devuelve un "solo valor" o una tupla.-
Cada vez que se llama a la función, se transfiere el control al bloque de sentencias definidas por esa función.
Después que las sentencias han sido ejecutadas, el control vuelve a la sentencia en que fue llamada la función.-
La invocación de una función es de la forma:
nombre (argumento1, argumento2,....)
donde nombre, que es el nombre de la función, es un identificador válido y es donde vuelve el resultado; y cada argumento puede ser cualquier variable válida, constante o expresión.-
Una definición de función tiene la forma:
def nombre (declaración de parámetros):
sentencias
return valor #opcional
El orden de la lista de parámetros es el orden de correspondencia de dichos parámetros con la lista de argumentos de la llamada. Por lo tanto el número de parámetros y de argumentos debe ser el mismo.
Una función puede tener argumentos opcionales con valor por defecto de la forma:
def nombre (mensaje, intentos=4, mensajeError='Intentar de nuevo!'): sentencias return valor #opcional
Se pueden definir valores por defecto para que la función sea llamada de formas diferentes:
nombre ("hola")
nombre("casa", 2)
nombre(texto, 1, "Muy bien!")
nombre("hola", mensajeError="Todo mal")
Escriba una función que devuelva el área de un círculo dado su radio.
Recuerde que para calcular el area, la formula es Π * r2
def area_circulo (radio_circulo):
PI = 3.14
area = PI*(radio_circulo^2)
return area
# Algoritmo principal:
radio = input("Escribe el radio")
area = area_circulo(radioprint(area)
Escribe una función llamada ConversionMoneda (…) que permita convertir una cantidad de dinero dada en dolares, pesos chilenos o euros a Pesos Argentinos. Estas son las equivalencias aproximadas:
http://www.monografias.com/trabajos-pdf4/algoritmos-curso/algoritmos-curso.pdf (Unidad 2.3.3)
http://www.frro.utn.edu.ar/repositorio/catedras/sistemas/1_anio/algoritmo_estructura_datos/SORRIBAS.pdf (Unidad 5)
http://dis.unal.edu.co/~programacion/book/modulo4.pdf
https://docs.python.org/3/tutorial/controlflow.html#defining-functions
Ejemplos
Velocidad
Aceleración
Cantidad de combustible
Marca
Color
Potencia
Velocidad máxima
Tipo de Combustible
EJEMPLO DEL AUTO
class Auto:
marca
vel_max = 500
potencia
tipo_combustible
cant_combustible = 0
def arrancar(self):
# Código para que arranque el auto
return 'Arrancamos'
def obtener_cant_combustible(self):
# Código para que arranque el auto
return self.cant_combustible
miAuto = Auto() # Creación
miAuto.marca = "Ferrari" # Asignación de atributo
miAuto.potencia = 1000 # Asignación de otro atributo
miAuto.arrancar() # Llamando a un método
velocidad_maxima = miAuto.vel_max # obtención de un atributo
print(miAuto.obtener_cant_combustible()) # obtención de un valor
# generado por un método
class Auto:
marca
vel_max = 500
potencia
tipo_combustible
cant_combustible = 0
def __init__(marca, vel_max, potencia):
self.marca = marca
self.vel_max = vel_max
self.potencia = potencia
def arrancar(self):
# Código para que arranque el auto
return 'Arrancamos'
def obtener_cant_combustible(self):
# Código para que arranque el auto
return self.cant_combustible
Una Clase puede "heredar" atributos y métodos de otra clase
Por ej: un auto puede ser un subgrupo de la clase "Transporte"
class Vehiculo:
marca
vel_max = 500
potencia
tipo_combustible
def arrancar(self):
# Código para que arranque el auto
return 'Arrancamos'
class Auto(Vehiculo):
cant_combustible = 0
def arrancar(self):
# Código para que arranque el auto
return 'Arrancamos'
Cree una clase matemática para realizar las operaciones de suma, resta, división y multiplicación. Llame a esas 4 operaciones desde su función principal
Diseñe una clase para trabajar con círculos. En su programa principal cree un círculo, asígnele un radio de 12, y obtenga su diámetro y su superficie
https://docs.python.org/3/tutorial/classes.html
http://www.nebrija.es/~abustind/Informatica/MetodologiaII/Introduccion.pdf
http://es.wikipedia.org/wiki/Clase_%28inform%C3%A1tica%29
http://es.wikipedia.org/wiki/Objeto_%28programaci%C3%B3n%29
https://www.fdi.ucm.es/profesor/jpavon/poo/1.1.Objetos%20y%20Clases.pdf