0% encontró este documento útil (0 votos)
5 vistas36 páginas

Python para Ingeniería: Guía Completa

Este documento presenta una introducción a la programación en Python para ingeniería. Explica conceptos básicos como que Python es un lenguaje de propósito general, de alto nivel e interpretado. Describe la estructura de un programa en Python, incluyendo el estilo de codificación, la definición de funciones antes de su uso, y el uso de módulos. También cubre temas como tipos de variables, operadores, sentencias de control y estructuras de datos comunes como listas y cadenas.

Cargado por

honeyb
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)
5 vistas36 páginas

Python para Ingeniería: Guía Completa

Este documento presenta una introducción a la programación en Python para ingeniería. Explica conceptos básicos como que Python es un lenguaje de propósito general, de alto nivel e interpretado. Describe la estructura de un programa en Python, incluyendo el estilo de codificación, la definición de funciones antes de su uso, y el uso de módulos. También cubre temas como tipos de variables, operadores, sentencias de control y estructuras de datos comunes como listas y cadenas.

Cargado por

honeyb
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

Programación en Python para ingenierı́a

Programación en Python
para ingenierı́a
J. Parı́s, F. Navarrina & GMNI

Grupo de Métodos Numéricos E.T.S. Enxeñerı́a de Camiños,


en Ingenierı́a Canais e Portos
Introducción Estructura Operadores Control Ficheros Estr. datos Funciones Módulos NumPy CMD Bibl. y Ej.

Índice

1.- Introducción 5.3.- Estándar input y output


1.1.- Conceptos generales 6.- Estructuras de datos
1.2.- Modos de interacción con Python 6.1.- Listas
2.- Estructura y estilo de programación 6.2.- Strings (Cadenas de caracteres)
2.1.- Estilo de codificación y programación 7.- Gestión y utilización de funciones
2.2.- Estructura de un programa 7.1.- Definición y utilización de funciones
2.3.- Tipos de variables 7.2.- Uso avanzado de funciones
2.4.- Clases y objetos 8.- Módulos
3.- Operadores 8.1.- Incorporación de módulos internos
3.1.- Operadores aritméticos y lógicos 8.2.- Incorporación de módulos externos
3.2.- Operadores relacionales 9.- Módulo NumPy
4.- Sentencias de control 9.1.- Funciones más habituales
4.1.- Bucles 9.2.- Lectura de datos de archivos txt
4.2.- Sentencias de control lógicas: if 9.3.- Operaciones con array
4.3.- Sentencias de control lógicas: match 10.- Command line
5.- Ficheros 10.1.- Información desde el command line
5.1.- Apertura y cierre de archivos 11.- Bibliografı́a y ejemplos
5.2.- Lectura y escritura en archivos 11.1.- Bibliografı́a y ejemplos

1/35
Universidade da Coruña - E.T.S. Enxeñerı́a de Camiños, Canais e Portos
Introducción Estructura Operadores Control Ficheros Estr. datos Funciones Módulos NumPy CMD Bibl. y Ej.

1.1- Conceptos generales

. Es un lenguaje de propósito general


. Es un lenguaje de alto nivel (cercano al usuario)
. Es un lenguaje interpretado
. El intérprete de Python está disponible para todos los sistemas operativos bajo
licencia GPL
. Es un lenguaje de programación modular (y existen numerosos módulos estándar
disponibles para su uso)
. Fue desarrollado a principios de los 90 por Guido Van Rossum
. Recibe su nombre del programa de TV “Monty Python’s Flying Circus” de la BBC
. En 2008 se lanzó la versión 3.0 de Python, que rompió la compatibilidad con
versiones anteriores

2/35
Universidade da Coruña - E.T.S. Enxeñerı́a de Camiños, Canais e Portos
Introducción Estructura Operadores Control Ficheros Estr. datos Funciones Módulos NumPy CMD Bibl. y Ej.

1.2- Modos de interacción con Python

. Modos de interacción con Python


 Modo interactivo:
X Para acceder al intérprete Python basta con teclear en una terminal: “python”
X Para salir del intérprete basta con teclear: “quit()”
X Se pueden introducir instrucciones individualmente
X Se pueden recuperar instrucciones anteriores de forma similar a una terminal de
comandos
 Modo script:
X Las instruccciones se pueden indicar de forma conjunta en un archivo de comandos
X La invocación del intérprete se realiza como: “python archivo de [Link]”
X Si se desea se pueden invocar módulos estándar como: “python -m module [arg] ...”
X La codificación del archivo de comandos se realiza por defecto en UTF-8, si bien es
recomendable utilizar solo la codificacion ASCII por compatibilidad
X Los comentarios y lı́neas de comentarios comienzan con el sı́mbolo #
X No se indica el “;” al final de cada instrucción

3/35
Universidade da Coruña - E.T.S. Enxeñerı́a de Camiños, Canais e Portos
Introducción Estructura Operadores Control Ficheros Estr. datos Funciones Módulos NumPy CMD Bibl. y Ej.

2.1- Estilo de codificación y programación

Estilo de codificación
. Cada lı́nea corresponde a una instrucción
. Se recomienda usar sangrı́as de 4 espacios, no tabuladores
. La indentación permite identificar los bloques de código
. Se recomienda no hacer lı́neas de más de 79 caracteres (para facilitar visibilidad)
. Si una lı́nea ocupa más de 80 caracteres se puede cortar la instrucción con el
caracter \ y continuar en la lı́nea siguiente.
. Se recomiendan los comentarios en una sóla lı́nea
. Se recomienda usar espacios alrededor de operadores y luego de las comas, pero
no directamente dentro de paréntesis
. Se recomienda utilizar solo caracteres ASCII.

4/35
Universidade da Coruña - E.T.S. Enxeñerı́a de Camiños, Canais e Portos
Introducción Estructura Operadores Control Ficheros Estr. datos Funciones Módulos NumPy CMD Bibl. y Ej.

2.2- Estructura de un programa

Estructura de un programa:
. Los programas en Python se diseñan de forma modular (con funciones)
. El programa principal se escribe al final del archivo después de todas las funciones
. Las funciones deben definirse en el archivo antes de utilizarse (lenguaje
interpretado)
. Las instrucciones en el programa principal se escriben desde el inicio de cada fila,
sin indentación
. No existen comandos de preproceso estilo #DEFINE de C
. Los módulos externos se incorporan al programa al inicio del mismo o antes de
utilizarlos

5/35
Universidade da Coruña - E.T.S. Enxeñerı́a de Camiños, Canais e Portos
Introducción Estructura Operadores Control Ficheros Estr. datos Funciones Módulos NumPy CMD Bibl. y Ej.

2.3- Tipos de variables

. Tipos de variables:
 int (variables enteras)
 float (variables reales, tamaño por defecto normalmente doble precisión)
 bool (True o False)
 strings, cadenas de caracteres (se ven posteriormente en 2)

. No es necesario declarar las variables.


. Python decide por nosotros el tipo de variable.
. En caso de duda se recomienda forzar el tipo con funciones de conversión.
. Se recomienda forzar el tipo mediante funciones de conversión de tipos.
. Funciones de conversion de tipos de variables:
 int(x) Convierte a entera x (sea del tipo que sea)
 float(i) Convierte a real i (sea del tipo que sea)
 str(x) Convierte a string x (sea del tipo que sea)

6/35
Universidade da Coruña - E.T.S. Enxeñerı́a de Camiños, Canais e Portos
Introducción Estructura Operadores Control Ficheros Estr. datos Funciones Módulos NumPy CMD Bibl. y Ej.

2.4- Clases y objetos

. Clases:
 Se definen como:

class nombre clase:


variable 1
variable 2
def f(...):
...
 Pueden contener funciones definidas como: def ...
 Se pueden crear objetos de una determinada clase como:

x = nombre clase() # Crea el objeto x vacı́o de clase tipo nombre clase

 Dentro de cada objeto los diferentes atributos (miembros) se identifican como:

a = [Link] 1 # Toma el atributo variable 1 del objeto x.


c = x.f(...) # Aplica la función f del objeto x con los datos (...).

7/35
Universidade da Coruña - E.T.S. Enxeñerı́a de Camiños, Canais e Portos
Introducción Estructura Operadores Control Ficheros Estr. datos Funciones Módulos NumPy CMD Bibl. y Ej.

3.1- Operadores aritméticos y lógicos

. Operadores aritméticos:
 Los operadores aritméticos habituales se utilizan normalmente como en cualquier
lenguaje de programación
 Se incorpora la división modular al igual que en Lenguaje C mediante (%)
 Los operadores incrementales de C (++, - -) no forman parte de Python
 Sı́ se pueden utilizar los operadores incrementales (+=, -=, *= y /=)
. Operadores lógicos:
 AND: Se utilizan y se escriben directamente con la instrucción “and” entre espacios
 OR: Se utilizan y se escriben directamente con la instrucción “or” entre espacios
 Negación: Se utilizan y se escriben anteponiendo “not” al valor o variable booleana

8/35
Universidade da Coruña - E.T.S. Enxeñerı́a de Camiños, Canais e Portos
Introducción Estructura Operadores Control Ficheros Estr. datos Funciones Módulos NumPy CMD Bibl. y Ej.

3.2- Operadores relacionales

. Operadores relacionales:
 Se escriben al igual que en C entre espacios:

 < (menor estricto) −→ Ej. j < 5


 <= (menor o igual) −→ Ej. j <= 5
 > (mayor estricto) −→ Ej. j > 5
 >= (mayor o igual) −→ Ej. j >= 5
 == (coincide con) −→ Ej. j == 5
 ! = (no coincide con)−→ Ej. j ! = 5

9/35
Universidade da Coruña - E.T.S. Enxeñerı́a de Camiños, Canais e Portos
Introducción Estructura Operadores Control Ficheros Estr. datos Funciones Módulos NumPy CMD Bibl. y Ej.

4.1- Bucles
. Bucles for
for i in range(10): # las lineas a repetir van indentadas 4 espacios.
# la instrucción finaliza con :
print(i)
i=5 # Obsérvese que a pesar de esto el contador seguirá igual

 La forma habitual de establecer secuencias numéricas es con la función range:

range(ini,fin) {ini, ini+1 ..., fin-1}


range(ini,fin,salto) {ini, ini+salto, ...} # El valor “fin” nunca se alcanza
range(fin) = {0,1,...,fin-1}
 El rango de valores también puede ser una comparación con elementos de una lista
words = [’cat’, ’dog’, ’mouse’]
for w in words:
print(w, len(w))
 La sentencia break termina el bucle
 La sentencia continue se salta el resto de la iteración y pasa a la siguiente.
10/35
Universidade da Coruña - E.T.S. Enxeñerı́a de Camiños, Canais e Portos
Introducción Estructura Operadores Control Ficheros Estr. datos Funciones Módulos NumPy CMD Bibl. y Ej.

4.1- Bucles

. Bucles “while”
a=1
b=1
while b < 20:
print(b)
c=a+b [1, 2, 3, 5, 8, 13]
a=b
b=c

 Los dos puntos indican el final de la condición de repetición del “while”


 Todas las sentencias afectadas por la instrucción “while” deben ir indentadas con 4
espacios con respecto al while
 La sentencia break termina el bucle
 La sentencia continue se salta el resto de la iteración y vuelve a comprobar la
condición de repetición

11/35
Universidade da Coruña - E.T.S. Enxeñerı́a de Camiños, Canais e Portos
Introducción Estructura Operadores Control Ficheros Estr. datos Funciones Módulos NumPy CMD Bibl. y Ej.

4.2- Sentencias de control lógicas: if

. Sentencia “if”

b = int(input(’Escriba b: ’))
if b < 20:
print(’b < 20’)
elif b < 30: # La comprobacion else if es opcional
print(’20 <= b < 30’)
else: # La comprobacion else es opcional
print(’b >= 30’)

 La comprobación de la condición finaliza necesariamente con :


 Las sentencias afectadas por la condición “if” deben ir indentadas con 4 espacios
con respecto al if
 Las sentencias afectadas por las condiciones “elif” y “else” también deben ir
indentadas con 4 espacios

12/35
Universidade da Coruña - E.T.S. Enxeñerı́a de Camiños, Canais e Portos
Introducción Estructura Operadores Control Ficheros Estr. datos Funciones Módulos NumPy CMD Bibl. y Ej.

4.3- Sentencias de control lógicas: match

. Sentencia “match” (equivalente al switch de C). Sólo a partir de Python 3.10

match option:
case 1:
print(’Option 1’)
case 2:
print(’Option 2’)
case 3:
print(’Option 3’)
case :
print(’Non specified option’)

 Cada “caso” coincidente excluye el resto (a diferencia del switch en C)


 El caso “ ” es la opcion final por defecto

13/35
Universidade da Coruña - E.T.S. Enxeñerı́a de Camiños, Canais e Portos
Introducción Estructura Operadores Control Ficheros Estr. datos Funciones Módulos NumPy CMD Bibl. y Ej.

5.1- Apertura y cierre de archivos

. Apertura de archivos con “open”

ref archivo = open(’nombre archivo’,’cd’)

 ref archivo es la variable que identifica el archivo que se va a abrir


 nombre archivo es un string con el nombre (y ruta, en su caso) del archivo a abrir
 cd son opciones de modo de apertura:
X c vale “r” Lectura, valor por defecto. Error si el archivo no existe
X c vale “w” Escritura. Crea el archivo si no existe
X c vale “a” Añade contenido. Crea el archivo si no existe
X c vale “x” Crea el archivo si no existe. Error si existe
X d es opcional. Si se añade con el valor “b” el archivo será binario

Ej.: finput = open(’[Link]’,’r’) Apertura de ’[Link]’ para lectura


print(’Nombre de archivo: ’,[Link])
. Cierre de archivos con “close”

Ej.: [Link]() # Cierra el archivo con nombre de referencia finput

14/35
Universidade da Coruña - E.T.S. Enxeñerı́a de Camiños, Canais e Portos
Introducción Estructura Operadores Control Ficheros Estr. datos Funciones Módulos NumPy CMD Bibl. y Ej.

5.2- Lectura y escritura en archivos

. Escritura de datos
Ej.:
foutput = open(’[Link]’,’w’)
[Link](’Escribimos un texto’) # Escribimos un texto
[Link](’Texto con valor ’,v,’ intercalado’) # Escribimos texto con un
# valor v intercalado
[Link](’Texto y {:5d},{:15.6e}’.format(n,v)) # Escribimos texto con valores
# intercalados con formato

El formato puede adoptar alguno de los siguientes tipos de formato (entre otros):
 {:5d} Valor entero con 5 dı́gitos
 {:15.6e} Valor real en notación cientı́fica con 15 dı́gitos y 6 decimales
 {:s} Cadena de caracteres (string)

15/35
Universidade da Coruña - E.T.S. Enxeñerı́a de Camiños, Canais e Portos
Introducción Estructura Operadores Control Ficheros Estr. datos Funciones Módulos NumPy CMD Bibl. y Ej.

5.2- Lectura y escritura en archivos

. Lectura de datos (ver apartado de Estructuras de datos)

Ej.: finput = open(’[Link]’,’r’)


t = [Link]() # Lee una linea completa del archivo y
# la guarda en el string “t”.
tint = [Link]() # Divide el string palabra a palabra y
# crea una lista (vector) de strings.
n = int(tint[0]) # Convierte el primer campo de la lı́nea en
# un entero y lo guarda en “n”.
x = float(tint[1]) # Convierte el segundo campo de la lı́nea
# en un real y lo guarda en “x”.

 La estructura “finput” dispone de más funciones asociadas que se pueden utilizar.


Estas funciones se pueden consultar en la documentación oficial de Python
([Link])

16/35
Universidade da Coruña - E.T.S. Enxeñerı́a de Camiños, Canais e Portos
Introducción Estructura Operadores Control Ficheros Estr. datos Funciones Módulos NumPy CMD Bibl. y Ej.

5.3- Estándar input y output

. Entrada de datos estándar

t = input(’Mensaje previo’) # El mensaje previo es opcional

 almacena como cadena de caracteres (por defecto) en “t” la entrada de datos


 Opcionalmente se puede cambiar el tipo de dato como:

x = float(input(’Mensaje previo’))

. Si se desea leer la información de forma binaria se puede utilizar:

t = [Link](b) # Lee “b” bytes de la entrada estándar y


# los almacena como string en “t”.

Para ello es necesario importar antes el módulo “sys” mediante import sys.

17/35
Universidade da Coruña - E.T.S. Enxeñerı́a de Camiños, Canais e Portos
Introducción Estructura Operadores Control Ficheros Estr. datos Funciones Módulos NumPy CMD Bibl. y Ej.

5.3- Estándar input y output

. Saı́da de datos estándar (introduce salto de lı́nea al final por defecto)

print(’Mensaje texto’,variables) # Se pueden combinar separados por comas

Ej.:
print(’r = ’,r) # Imprime el texto y el valor de la variable
print(’r = {:e}’.format(r)) # La variable se muestra con notación cientı́fica
print(’r = {:25.16e}’.format(r)) # La variable se muestra con notación cientı́fica,
# 25 dı́gitos y 16 decimales
print(’n = {:5d}, r = {:25.16e}’.format(n,r)) # n como entera y r como real
print(’Nombre = {:s}’.format(str name)) # muestra texto y string encadenados
print(’Nombre = ’ + str nombre) # equivalente al anterior

. Si se desea escribir la información de forma binaria se puede utilizar:


[Link](’x = {:f}’.format(x)) # Igual que print pero sin salto al final.

Para ello es necesario importar antes el módulo “sys” mediante import sys.

18/35
Universidade da Coruña - E.T.S. Enxeñerı́a de Camiños, Canais e Portos
Introducción Estructura Operadores Control Ficheros Estr. datos Funciones Módulos NumPy CMD Bibl. y Ej.

5.3- Estándar input y output

. Saı́da de datos estándar (continuación)

Otras opciones de escritura son:


 print(r’\n r’) # No interpreta los caracteres especiales tipo ’\n’.
 print(f’r = x’) # Intercala el valor de la variable x (indicada entre llaves).

Ejemplo de lectura de stdin lı́nea a lı́nea:

import sys
for line in [Link]:
if ’Exit’ == [Link]():
break
print(’Linea leida: ****{:s}****’.format(line))
print(’Done ’)

19/35
Universidade da Coruña - E.T.S. Enxeñerı́a de Camiños, Canais e Portos
Introducción Estructura Operadores Control Ficheros Estr. datos Funciones Módulos NumPy CMD Bibl. y Ej.

6.1- Listas

Listas (forma general de vectores)


. Se pueden definir como: lista = [1, 4, 9, 16, 25]
. Pueden contener valores de tipos diferentes, aunque no es lo habitual
. Se pueden segmentar e indexar al igual que los strings (e.g. lista[:])
. Se pueden concatenar con el sı́mbolo “+”
. Se pueden añadir términos a la lista como: [Link](valor)
. Se pueden eliminar partes de una lista como: lista[2:5] = [] (elimina componentes
2, 3 y 4)
. len(lista) indica el número de elementos de la lista

20/35
Universidade da Coruña - E.T.S. Enxeñerı́a de Camiños, Canais e Portos
Introducción Estructura Operadores Control Ficheros Estr. datos Funciones Módulos NumPy CMD Bibl. y Ej.

6.1- Listas

Comandos más habituales de modificación de listas:


. [Link](x) → Agrega un ı́tem al final de la lista list
. [Link](lista2) → Extiende la lista list agregándole todos los ı́tems de lista2
. [Link](i, x) → Inserta el ı́tem x justo antes de la posición i de la lista list
. [Link](x) → Quita el primer ı́tem de la lista list cuyo valor sea x. Si no existe
indica un error.
. [Link]() → Elimina todos los elementos de la lista list
. [Link](x) → Retorna el número de veces que x aparece en la lista list
. del list[a:b] →

21/35
Universidade da Coruña - E.T.S. Enxeñerı́a de Camiños, Canais e Portos
Introducción Estructura Operadores Control Ficheros Estr. datos Funciones Módulos NumPy CMD Bibl. y Ej.

6.1- Listas

Formas matriciales
. Se indican como listas dentro de otra lista.
. Se almacenan por filas.
. Cada fila puede tener diferente número de elementos.
Ejemplo de matriz:
matriz = [[11,12], [21,22,23], [31,32,33]]
. Luego se pueden operar como:
nfilas = len(matriz)
for i in range(nfilas):
print(matriz[i][-1]) # Muestra el último valor de cada fila.
. La gestión de matrices se simplifica con las librerı́as del módulo NumPy.

22/35
Universidade da Coruña - E.T.S. Enxeñerı́a de Camiños, Canais e Portos
Introducción Estructura Operadores Control Ficheros Estr. datos Funciones Módulos NumPy CMD Bibl. y Ej.

6.2- Strings (Cadenas de caracteres)


Strings
. Las cadenas de caracteres (strings) se encierran entre comillas simples o dobles
(indistintamente)
. Las cadenas de caracteres pueden contener varias lı́neas si se definen mediante
triple comilla
. Las cadenas de caracteres colocadas una a continuación de la otra se concatenan
automáticamente. Con variables no funciona de este modo.
. Variables tipo string y textos pueden concatenarse con “+”
. Se puede hacer referencia a posiciones dentro de un string o a porciones del
mismo como:
 string[4:6] Caracteres desde el 4 (inlcuido) hasta el 6 (excluido)
 string[4:] Caracteres desde el 4 hasta el final del string
 string[:4] Caracteres desde el inicio hasta el 4 (excluido)
 string[-2] (segundo caracter desde el final)
. Los string no se pueden modificar parcialmente.
. Para modificarlo se compone un nuevo string con los cambios incorporados
23/35
Universidade da Coruña - E.T.S. Enxeñerı́a de Camiños, Canais e Portos
Introducción Estructura Operadores Control Ficheros Estr. datos Funciones Módulos NumPy CMD Bibl. y Ej.

7.1- Definición y utilización de funciones

Definición de funciones
. Las funciones se definen como:
def nombre funcion(lista argumentos):
 Todas las instrucciones de esa función deben ir con el correspondiente sangrado
 El paso de argumentos se hace por valor de la referencia:
X De objetos y listas se envı́an copias de las referencias.
X De variables se envı́an copias de los valores (los cambios no permanecen)
 La llamada a la función desde el programa principal se realiza como:

valores retorno = nombre funcion(lista argumentos)

. La función tiene que estar definida en el archivo de comandos antes de ser


llamada.

24/35
Universidade da Coruña - E.T.S. Enxeñerı́a de Camiños, Canais e Portos
Introducción Estructura Operadores Control Ficheros Estr. datos Funciones Módulos NumPy CMD Bibl. y Ej.

7.1- Definición y utilización de funciones


. Definición de las funciones
 Las funciones se definen mediante el comando “def” como:

def nombre funcion( lista de variables):

 Y a continuación se indican los comandos propios de la función.


 Todas las sentencias de la función deben ir indentadas 4 espacios.
 Al final de la función si existen valores de retorno se indican como:
return valor1, valor2, etc.

Ejemplo:

def cuadrado(x):
a=x*x
return a
..
.
z = cuadrado(x)

 La sentencia return puede omitirse si no hay valores de retorno.


25/35
Universidade da Coruña - E.T.S. Enxeñerı́a de Camiños, Canais e Portos
Introducción Estructura Operadores Control Ficheros Estr. datos Funciones Módulos NumPy CMD Bibl. y Ej.

7.2- Uso avanzado de funciones

. Funciones con valores por omisión (por defecto):


 Es opcional especificar los valores. Si no se espefican se adoptan los valores por
defecto

def ask ok(prompt, retries=4, reminder=’Por favor, intentelo de nuevo!’):


while True:
ok = input(prompt)
if ok in (’y’, ’ye’, ’yes’):
return True
if ok in (’n’, ’no’, ’nop’, ’nope’):
return False
retries = retries - 1
if retries ¡ 0:
print(’Respuesta de usuario invalida’)
print(reminder)

26/35
Universidade da Coruña - E.T.S. Enxeñerı́a de Camiños, Canais e Portos
Introducción Estructura Operadores Control Ficheros Estr. datos Funciones Módulos NumPy CMD Bibl. y Ej.

7.2- Uso avanzado de funciones

. Esta función se puede utilizar como:

 ask ok(’Desea salir ahora?’) que si la respuesta no es válida repite la pregunta por
defecto 4 veces mostrando el mensaje: “Por favor, intentelo de nuevo!”

 ask ok(’Desea salir ahora?’,2) que si la respuesta no es válida repite la pregunta 2


veces mostrando el mensaje: “Por favor, intentelo de nuevo!”

 ask ok(’Desea salir ahora?’,2, ’Respuesta incorrecta’) que si la respuesta no es


válida repite la pregunta 2 veces mostrando el mensaje: “Respuesta incorrecta”

. Los valores por omisión (por defecto) se asignan una sola vez cuando se crea la
función.

27/35
Universidade da Coruña - E.T.S. Enxeñerı́a de Camiños, Canais e Portos
Introducción Estructura Operadores Control Ficheros Estr. datos Funciones Módulos NumPy CMD Bibl. y Ej.

8.1- Incorporación de módulos internos

Incorporación de módulos internos:

. Los programas Python pueden incorporar funcionalidades a través de módulos


internos
. Los módulos internos se añaden mediante la función import como:
import modulo interno
. La importación se suele hacer al principio del programa
. Los módulos incorporados se comportan como objetos formados tanto por
variables como por funciones:
 resultado = [Link](valores)
 [Link] propio

. Algunos de los módulos propios más habituales de Python son:


 sys, math, random

28/35
Universidade da Coruña - E.T.S. Enxeñerı́a de Camiños, Canais e Portos
Introducción Estructura Operadores Control Ficheros Estr. datos Funciones Módulos NumPy CMD Bibl. y Ej.

8.2- Incorporación de módulos externos


Incorporación de módulos externos (librerı́as):

. Los programas Python pueden incorporar funcionalidades a través de módulos


externos.
. Los módulos externos son ficheros (*.py) y se añaden mediante import como:
import modulo ext
. La importación se suele hacer al principio del programa.
. El intérprete busca el módulo en el sistema siguiendo este orden:
 Comprueba si es un módulo interno del sistema (listados en listed in
[Link] module names)
 Comprueba si hay un archivo modulo [Link] en la lista de carpetas indicada en
[Link]
 La lista [Link] incluye la propia carpeta de ejecución del script.
. Los módulos incorporados se comportan como objetos formados por funciones:
 resultado = [Link](valores)
. Algunos de los módulos externos más habituales de Python son:
 Matplotlib, SciPy, NumPy, ...
29/35
Universidade da Coruña - E.T.S. Enxeñerı́a de Camiños, Canais e Portos
Introducción Estructura Operadores Control Ficheros Estr. datos Funciones Módulos NumPy CMD Bibl. y Ej.

9.1- Funciones más habituales


Funciones más habituales del módulo NumPy

. Antes de empezar importamos el módulo NumPy:


import numpy as np # Lo renombramos por comodidad como np
. Y ya podemos utilizar funciones especı́ficas de NumPy:
 ones(shape,dtype) “Array” de unos formado por “shape” elementos.
m real = [Link](shape=(2,3),dtype=’float64’)
m real = [Link]((2,3),’float64’) # Equivalente al anterior
m ent = [Link](shape=(3,4),dtype=’int32’)
 zeros(shape, dtype) “Array” de ceros compuesto de “shape” elementos.
m real = [Link](shape=(2,3),dtype=’float64’)
m real = [Link]((2,3),’float64’) # Equivalente al anterior
m ent = [Link](shape=(3,4),dtype=’int32’)
 m ent = [Link](range(1,20), dtype=’int64’)
 m real = [Link]([x**2 for x in range(20)], dtype=’float64’)
 meshgrid(x,y) Genera una malla 2D combinando dos arrays x, y.
30/35
Universidade da Coruña - E.T.S. Enxeñerı́a de Camiños, Canais e Portos
Introducción Estructura Operadores Control Ficheros Estr. datos Funciones Módulos NumPy CMD Bibl. y Ej.

9.2- Lectura de datos de archivos txt

Carga de datos de un archivo:

matriz = [Link](’[Link]’, delimiter = ’ ’)

. De un array existente podemos obtener información con:

 [Link] Proporciona el número de dimensiones de nuestro array.


 [Link] Es un objeto que describe el tipo de elementos del array.
 [Link] Devuelve la dimensión del array (para matrices en una tupla)

31/35
Universidade da Coruña - E.T.S. Enxeñerı́a de Camiños, Canais e Portos
Introducción Estructura Operadores Control Ficheros Estr. datos Funciones Módulos NumPy CMD Bibl. y Ej.

9.3- Operaciones con array

Operaciones con “array”:


. Si los arrays se generan con funciones de NumPy las operaciones son muy
sencillas:
 Suma: c = a + b # Suma de “arrays” (matrices o vectores)
 Producto escalar: c = [Link](a,b) # Producto algebraico de “arrays”
 Producto vectorial: c = [Link](a,b) # Producto vectorial de “array”
 Producto componente a componente: c = a*b # Producto elemento a elemento
 Transpuesta: c = [Link](a) # Transpuesta del “array”
 Copia: mc = [Link](ma) # Copia ma en mb

32/35
Universidade da Coruña - E.T.S. Enxeñerı́a de Camiños, Canais e Portos
Introducción Estructura Operadores Control Ficheros Estr. datos Funciones Módulos NumPy CMD Bibl. y Ej.

9.3- Operaciones con array


Operaciones con “array”:
. Componente a componente con bucles:

for f in M: # f es una fila de M (lista)


for x in f: # x es la componente de la fila f
print(x, end=’ ’)
print()

for i, f in enumerate(M): # i = indice fila, f = fila de M (lista)


for j, x in enumerate(f):
M[i, j] *= x # Eleva al cuadrado cada componente
print(M)

for j in range([Link][1]): # Gestion de datos por columnas (ineficiente)


for i in range([Link][0]): # [Link][0] indica el numero de filas de m2
print(m2[i,j])
print()

33/35
Universidade da Coruña - E.T.S. Enxeñerı́a de Camiños, Canais e Portos
Introducción Estructura Operadores Control Ficheros Estr. datos Funciones Módulos NumPy CMD Bibl. y Ej.

10.1- Información desde el command line

Incorporación de información del command line:

. La incorporación de información desde el command line es muy similar a la de C.


. Se utiliza de forma incluso más sencilla, pero opaca.
. En la terminal se ejecuta como: python [Link] campo 1 campo 2
. Para ello es necesario incorporar el módulo “sys” como: import sys
. [Link][i] devuelve un string con el campo i del command line:
 [Link][0] nombre del programa Python en ejecución (e.g. [Link])
 [Link][1] primer campo del command line (e.g. campo 1)

. El número de campos introducidos se puede obtener mediante:


argc = len([Link])

34/35
Universidade da Coruña - E.T.S. Enxeñerı́a de Camiños, Canais e Portos
Introducción Estructura Operadores Control Ficheros Estr. datos Funciones Módulos NumPy CMD Bibl. y Ej.

11.1- Bibliografı́a y ejemplos

La información de este breve manual se ha extraı́do de:


. La web oficial del Python: [Link]
. La web oficial del módulo NumPy: [Link]

Los ejemplos de aplicación se han obtenido de diversos ejemplos de aplicación


en múltiples páginas web y de desarrollo propio

Se pueden encontrar ejemplos en el apartado de Software de la página web:


[Link] itop/503/[Link]

That’s All Folks !!!

35/35
Universidade da Coruña - E.T.S. Enxeñerı́a de Camiños, Canais e Portos

También podría gustarte