0% encontró este documento útil (0 votos)
129 vistas5 páginas

Capitulo 3 Python

Este documento presenta un capítulo sobre funciones en Python. Explica conceptos como llamadas a funciones, parámetros, argumentos, alcance de variables, composición de funciones, flujo de ejecución, y módulos matemáticos. También incluye ejercicios de práctica sobre la creación y uso de funciones.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
129 vistas5 páginas

Capitulo 3 Python

Este documento presenta un capítulo sobre funciones en Python. Explica conceptos como llamadas a funciones, parámetros, argumentos, alcance de variables, composición de funciones, flujo de ejecución, y módulos matemáticos. También incluye ejercicios de práctica sobre la creación y uso de funciones.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Capitulo

3
Alumna: Aylín Cristhel Vences Bello. 501

Funciones

índice

3.1. Llamadas a funciones


3.2. Funciones matemáticas
3.3. Composición
3.4. Agregar nuevas funciones
3.5. Definiciones y usos
3.6. Flujo de ejecución
3.7. Parámetros y argumentos
3.8. Las variables y los parámetros son locales
3.9. Diagramas de pila
3.10. Funciones productivas y funciones nulas
3.11. ¿Por qué funciones?
3.12. Depuración
3.13. Glosario
3.14. Ejercicios

3.1. Llamadas a funciones


Python proporciona funciones que convierten valores de un tipo a otro. La función int toma cualquier valor y lo convierte en un entero, si
puede, o de lo contrario reclama:

int puede convertir valores de coma flotante en enteros, pero no redondea; corta la parte de fracción:

float convierte enteros y cadenas en números coma flotante:

Por último, str convierte su argumento en una cadena:

3.2 Funciones matemáticas


Un módulo de Python es un archivo que contiene una colección de funciones relacionadas entre sí. Estos módulos deben ser
importados con la sentencia import. Python tiene un módulo matemático que proporciona la mayor parte de las funciones matemátcas
conocidas. Para obtener información sobre el módulo, despues de importarlo debes mostrar un objeto de módulo en pantalla.

import math #Importar modulo math (se crea el objeto de módulo)


math #Mostrar el objeto de módulo en pantalla

<module 'math' (built-in)>

El objeto de módulo contine las funciones y variables definidas en el módulo. Para tener acceso a ellas debes especificar el nombre del
módulo y el nombre de la función, separados por un punto

import math
radianes=0.7
altura=math.sin(radianes) #Accediendo a la función sin del módulo math
print(altura)

0.644217687237691

3.3 Composición
En los lenguajes de programación es posible tomar pequeños bloques de construcción y componerlos.

import math
grados=360
x=math.sin(grados/360.00*2*math.pi) ##El argumento contiene una expresion con operador
print(x)

-2.4492935982947064e-16

3.4 Agregar nuevas funciones


3.4 Agregar nuevas funciones
Podemos agregar nuevas funciones.

##definición de la nueva función


def imprimir_men(): ## Encabezado
print("Mensaje dentro de la función imprimir_letra") ##Cuerpo
## Llamada de la nueva función
imprimir_men()

Mensaje dentro de la función imprimir_letra

Para terminar una función, debes insertar una línea vacía. Al definiri una función, se crea un objeto de función. Al definir una función, se
crea un objeto de función que tiene tipo function.

3.5. Definiciones y usos


Como regla, debes crear la función antes de ejecutarla, es decir, la definición de función tiene que efectuarse antes de que la función
sea llamada.

3.6. Flujo de ejecución


El flujo de ejecución es el orden en que se ejecutan las sentencias. La ejecución siempre comienza con la primera sentencia del
programa. Las sentencias se ejecutan una a la vez, de arriba hacia abajo. Las definiciones de función no alteran el flujo de ejecución de
un programa, pero las sentencias dentro de la función no se ejecutan hasta que la función es llamada. Cuando se llama una función se
realiza un desvío en el flujo de ejecución. En lugar de ir a la siguiente sentencia, el flujo salta al cuerpo de la función, ejecuta las
sentencias que están allí y luego regresa para retomar donde lo había dejado. No olvidar que una función puede llamar a otra.

3.7 Parámetros y argumentos.


Algunas de las funciones que hemos visto requieren argumentos. Dentro de la función, los argumentos son asignados a variables
llamadas parámetros. El nombre de la variable que pasamos como argumento no tiene que ver con el nombre del parámetro. Las reglas
de composición que se aplican a las funciones incorporadas también se aplican a las funciones definidas por el programador.

3.8 Las variables y los parámetros son locales


Cuando creas una variable dentro de una función, es una variable local, es decir que existe solamente dentro de la función. Los
parámetros también locales. Si ocurre un error durante una llamada a función, Python imprime el nombre de la función, el nombre de la
función que la llamó y el nombre de la función que llamó a esa, todo el camino de vuelta a la función main.

3.9 Funciones productivas y funciones nulas


Hay funciones que devuelven resultados y otras que no devuelven.

Ejercicios
Ejercicio 3.1
Escribe una función con nombre justificar_derecha que tome una cadena con nombre s como parámetro e imprima la cadena con
suficientes espacios al inicio de tal manera que la última letra de la cadena esté en la columna 70 de la pantalla.

justificar_derecha('monty')


monty

Pista: utiliza la repetición de cadenas y la concatenación. Además, Python proprociona una función incorporada llamada len que
devuelve la longitud de una cadena, por lo que el valor de len('monty') es 5.

def justificar_derecha(s):
tab=' '*69
print(tab+s)

justificar_derecha('Tabulación')

Tabulación

Ejercicio 3.2.
Un objeto de función es un valor que puedes asignar a una variable o pasarlo coomo argumento. Por ejemplo, hacer_2veces es una
función que toma un objeto de función como argumento y lo llama dos veces:

def hacer_2veces(f): f() f() Aquí hay un ejemplo que utiliza hacer_2veces para llamar a una función con nombre imprimir_spam dos
veces. def imprimir_spam(): print('spam') hacer_2veces(imprimir_spam)

1. Escribe este ejemplo en un script y pruébalo.

def hacer_2veces(f): ## Definición de función


f()
f()
def imprimir_spam(): ##Definición de funcion
print('spam')
hacer_2veces(imprimir_spam) ##Llamada a función con otra función como argumento

spam
spam

1. Modifica hacer_2veces para que tome dos argumentos, un objeto de función y un valor, y llame a la función dos veces, pasando al
valor como argumento.

def hacer_2veces(f,s):
f(s)
f(s)

def imprimir_spam(a):
print(a)

hacer_2veces(imprimir_spam,'argumento')

argumento
argumento

3.La función impr_2veces está definida como


def impr_2veces(cad):

print(cad)
print(cad)

Copiala a tu codigo anterior.

def hacer_2veces(f,s):
f(s)
f(s)

def imprimir_spam(a):
print(a)
def impr_2veces(cad): ##Función copiada
print(cad)
print(cad)

hacer_2veces(imprimir_spam,'argumento')

argumento
argumento

4.Usa la versión modificada de hacer_2veces para llamar a impr_2veces, pasando a 'spam' como argumento.

def hacer_2veces(f,s):
f(s)
f(s)

def impr_2veces(cad):
print(cad)
print(cad)

hacer_2veces(impr_2veces,'spam')

spam
spam
spam
spam

5.Define una nueva función llamada hacer_4veces que tome un objeto de función y un valor y
llame a la función cuatro veces, pasando al valor como argumento. Debería haber solo dos sentencias en el cuerpo de esta función, no
cuatro.

def hacer_2veces(f,s):
f(s)
f(s)

def impr_1vez(cad): ##Función imprime una vez


print(cad)
def hacer_4veces(f,s): ##Nueva función con dos sentencias
hacer_2veces(f,s)
hacer_2veces(f,s)

hacer_4veces(impr_1vez,'ejemplo cuatro veces')

ejemplo cuatro veces


ejemplo cuatro veces
ejemplo cuatro veces
ejemplo cuatro veces

Ejercicio 3.3. Nota: Este ejercicio debería hacerse utilizando solo las sentencias y otras características que
hemos aprendido hasta ahora.

def hacer_2veces(f):
f()
f()
def hacer_4veces(f):
hacer_2veces(f)
hacer_2veces(f)
def imp_linea():
print('+ ','- '*4,'+ ','- '*4,'+ ')

def imp_espacio():
print('| ',' '*4,'| ',' '*4,'| ')
def cuadricula():
imp_linea()
hacer_4veces(imp_espacio)
imp_linea()
hacer_4veces(imp_espacio)
imp_linea()

cuadricula()

+ - - - - + - - - - +
| | |
| | |
| | |
| | |
+ - - - - + - - - - +
| | |
| | |
| | |
| | |
+ - - - - + - - - - +

def hacer_2veces(f):
f()
f()
def hacer_4veces(f):
hacer_2veces(f)
hacer_2veces(f)
def imp_linea():
print('+ ','- '*4,'+ ','- '*4,'+ ',end=' ')
print('- '*4,'+ ','- '*4,'+')
def imp_espacio():
print('| ',' '*4,'| ',' '*4,'| ',end=' ')
print(' '*4,'| ',' '*4,'|')
def cuadricula():
imp_linea()
hacer_4veces(imp_espacio)
imp_linea()
hacer_4veces(imp_espacio)
imp_linea()
hacer_4veces(imp_espacio)
imp_linea()
hacer_4veces(imp_espacio)
imp_linea()

cuadricula()
+ - - - - + - - - - + - - - - + - - - - +
| | | | |
| | | | |
| | | | |
| | | | |
+ - - - - + - - - - + - - - - + - - - - +
| | | | |
| | | | |
| | | | |
| | | | |
+ - - - - + - - - - + - - - - + - - - - +
| | | | |
| | | | |
| | | | |
| | | | |
+ - - - - + - - - - + - - - - + - - - - +
| | | | |
| | | | |
| | | | |
| | | | |
+ - - - - + - - - - + - - - - + - - - - +


Loading [MathJax]/jax/output/CommonHTML/fonts/TeX/fontdata.js

También podría gustarte