Funx

Solo disponible en BuenasTareas
  • Páginas : 7 (1739 palabras )
  • Descarga(s) : 0
  • Publicado : 15 de mayo de 2011
Leer documento completo
Vista previa del texto
Sin embargo, esta forma no es recomendada, pues puede importar nombres que sobreescriban a otros que ˜ ya existan. Por lo mismo, esta manera no hay que ensenarla. Las funciones y constantes usadas en este ejemplo son: math.exp(x): la exponencial e x ; math.cos(x): el coseno cos x; math.pi: la constante π; random.randrange(a, b, c): entrega un entero aleatorio en el rango definido por los valoresa, b y c (en el ejemplo, un entero aleatorio entre 0 y 9, inclusive); random.choice(opciones): entrega uno de los valores de la lista de opciones (las listas se pasar´ n a m´ s adelante, pero por ahora basta saber que se delimitan con par´ ntesis cuadrados). a e ´ Muestre en la consola como al llamar las funciones randrange y choice siempre se obtiene un resultado distinto.
´ ´ Creacion de modulosprograma.py
from circulos import area, perimetro radio = float(raw_input('Radio:')) print 'El area es', area(radio) print 'El perimetro es', perimetro(radio)

´ Modulos, funciones avanzadas

´ Programacion http://progra.usm.cl

6 y 7 de abril de 2011

Objetivos de la clase

´ Introducir el concepto y el uso de los modulos.

˜ ´ Ensenar a crear un modulo.

Explicar algunos usos m´s avanzados de las funciones. a

Diapositivas
circulos.py
pi = 3.1415926535897931 def area(r): return pi * r ** 2 def perimetro(r): return 2 * pi * r

´ Uso de modulos

Dos maneras de importar objetos:

from math import exp, cos, pi from random import randrange, choice

print exp(5.5) print cos(pi / 2) print randrange(10) print choice(['cara', 'sello'])

import math import randomprint print print print

math.exp(5.5) math.cos(math.pi / 2) random.randrange(10) random.choice(['cara', 'sello'])

´ ´ Adem´ s de usar los modulos est´ ndares de Python, uno puede crear sus propios modulos con definia a ´ ciones para ser reutilizadas en varios programas, o para organizar mejor una aplicacion relativamente grande. ´ ´ La manera m´ s simple de crear un modulo es escribir unarchivo con extension .py y dejarlo en la misa ma carpeta que el programa que lo usa. En esta diapositiva se muestra un ejemplo: el archivo programa.py ´ es un programa que muestra el area y el perimetro de un c´rculo, usando funciones importadas desde un ı ´ ´ modulo llamado circulos que est´ definido a continuacion. a ´ El modulo define tres nombres (pi, area y perimetro), de los cuales dos sonimportados desde programa.py. ´ ´ Enfatice que este modulo no solo puede ser usado desde este programa, sino desde cualquier otro que necesite estas funciones.
´ Programas como modulos
comb.py
def factorial(n): p = 1 for i in range(1, n + 1): p = p * i return p def coef_bin(n, k): fn = factorial(n) fk = factorial(k) fnk = factorial(n - k) return fn / (fk * fnk) if __name__ == '__main__': n =int(raw_input('n: ')) k = int(raw_input('k: ')) print '(n k) =', coef_bin(n, k)

Un m´ dulo en Python es un archivo que contiene definiciones que pueden ser importadas desde un o programa para ser usadas. ´ Python provee una vasta biblioteca de modulos que est´ n disponibles para ser usados desde cualquier a ´ ´ programa. Adem´ s, es posible instalar modulos externos para propositos espec´ficos. a ı ´ Enesta diapositiva se muestran las dos maneras principales de usar un modulo. Adem´ s, se introa ´ duce dos de los modulos est´ ndares de Python: math y random, que proveen respectivamente funciones a ´ matem´ ticas y funciones para generar numeros aleatorios. a ´ ´ La primera manera de usar un modulo es importar nombres espec´ficos desde el usando la sentencia ı

from modulo import nombres

Losnombres van separados por comas. Los alumnos ya deber´an estar familiarizados con esta forma, pues ı aparece usada varias veces en los apuntes de la primera unidad. ´ La segunda manera es importar el modulo completo, y luego acceder a sus miembros usando el punto: modulo.objeto. Esta forma no ensucia el espacio de nombres global, pues todos los nombres quedan ´ encapsulados en el modulo. ´...
tracking img