Python en un lenguaje interpretado, asi que los codigos de python corren en una maquina virtual de python que proporciona una capa de abstracción entre el código y la plataforma en la que se ejecuta, haciendo que los códigos sean portátiles en diferentes plataformas.
Por ejemplo, el mismo script que se ejecuta en una computadora portátil con Windows también se puede ejecutar en una supercomputadora basada en Linux o en un teléfono móvil. Esto facilita la programación porque la máquina virtual maneja los detalles de bajo nivel de implementación de la lógica de negocios del script en la plataforma subyacente.
Python es un lenguaje de tipo dinámico, lo que significa que el propio intérprete calcula los tipos representativos (por ejemplo, flotantes, enteros) de forma interactiva o en tiempo de ejecución.
El equilibrio proviene de la capacidad nativa de Python para unirse a las bibliotecas compiladas de Fortran y C. Esto significa que puede enviar cálculos intensivos a bibliotecas compiladas directamente desde el intérprete.
Como proyecto de código abierto, Python está disponible en cualquier lugar donde pueda construirlo, a pesar de que generalmente es estándar hoy en día, como parte de muchos sistemas operativos. La creación y configuración de bibliotecas compiladas en múltiples sistemas solía ser un trabajo minucioso, pero a medida que Python ha madurado científicamente, una amplia gama de bibliotecas ahora están disponibles en todas las plataformas principales (es decir, Windows, MacOS, Linux, Unix) como preempaquetadas distribuciones
Finalmente, Python científico facilita el mantenimiento de los códigos científicos porque la sintaxis de Python es limpia, libre de basura de punto y coma y otras distracciones visuales que hacen que el código sea difícil de leer y fácil de ofuscar.
Funciones básicas
print(): Imprime los valores en una secuencia.
Ejemplo:
print('Hola mundo')
type(): Devuelve el tipo de clase en módulos incorporados
Ejemplo:
type('Hola mundo')
<class 'str'>
type((-1)**(1/2))
<class 'complex'>
type(104)
<class 'int'>
input(): Permite tomar la entrada del usuario
Ejemplo:
a=input('Ingresa tu nombre:')
print('Hola, ' + a + ', a seguir aprendiendo,...')
abs(): Devuelve el valor absoluto del número especificado
Ejemplo:
print(abs(-135))
z=1+7j
print(abs(z))
pow(): Devuelve el valor calculado de x elevado a y, es decir, x^y.
Ejemplo:
pow(2,3)
pow(3,4,5); #Devuelve el valor de 3 a la potencia de 4, módulo 5 (igual que (3 * 3 * 3 * 3) % 5)
Nota: Una alternativa a pow(x,y) es x**y (con doble asterisco) .
sorted(): Devuelve una lista ordenada del objeto iterable especificado.
Ejemplo:
x=("h", "b", "a", "c", "f", "d", "e", "g")
print(sorted(x))
También podemos ordenar la tupla x en orden descendente
print(sorted(x, reverse=True))
max(): Devuelve el elemento con el valor máximo o el elemento con el valor máximo en un iterable.
Ejemplo:
x=('Martin','Gerardo','Juan','Alejandro','Julio')
max(x); #Devuelve el nombre con el valor más alto, ordenado alfabéticamente
y=(2785, 545, -987, 1239, 453)
max(y);#Devuelve el artículo en una tupla y, con el valor más alto
round(): Devuelve un número de punto flotante que es una versión redondeada del número especificado, con el número especificado de decimales.
Ejemplo:
round(87.76324); # Redondea el número positivo especificado al entero más cercano.
divmod(): Muestra el cociente y el residuo cuando x se divide por y.
Ejemplo:
x=divmod(7,3)
print(x)
ord(): Devuelve el número que representa el código Unicode de un carácter especificado
Ejemplo:
print(ord("e"));#Devuelve el entero que representa el carácter “e”
print(ord("E"))
len(): Devuelve el número de caracteres presentes en esa cadena.
Ejemplo:
x=["manzana", "platano", "fresa", "mango", "pera","sandia","limon"]
print(len(x)) #Devuelve el número de elementos de una lista.
y="Estoy aprendiendo a programar en python"
print(len(y)); #Devuelve el número de elementos en un objeto de cadena
sum(): Devuelve un número, la suma de todos los elementos en un iterable
Ejemplo:
#De una tupla
x=(1,3,5,7,9)
print(sum(x,3))
#De una lista
y=[2,7,3,9,7,9,]
print(sum(y))
help(): Se utiliza para mostrar la documentación de módulos, funciones, clases, palabras clave, etc.
Ejemplo:
help(sum)
Para usar una biblioteca científica compilada, la memoria asignada en el intérprete de Python debe llegar de alguna manera a esta biblioteca como entrada. Además, la salida de estas bibliotecas también debe volver al intérprete de Python. Este intercambio bidireccional de memoria es esencialmente la función central del módulo Numpy (matrices numéricas en Python). Numpy es el estándar para matrices numéricas en Python. Surgió como un esfuerzo de Travis Oliphant y otros para unificar las matrices numéricas en Python.
Ejemplo 1 de Numpy
La primera línea importa Numpy como np, que es la convención recomendada. La siguiente línea crea una matriz de números de coma flotante de 32 bits. La propiedad itemize muestra el número de bytes por artículo.
Código:
Ejemplo 2
Calculemos el seno del vector x de datos del ejemplo anterior con la librería numpy.
Código:
Una alternativa de este calculo es usando ciclos.
Código:
from math import sinfor i in range(1,4,1):print(sin(i))Funciones y arreglos en numpy
Algunos lenguajes interpretados asignan implícitamente memoria. Por ejemplo, en Matlab, puede extender una matriz simplemente agregando otra dimensión. La libreria numpy nos ayudará a trabajar con matrices, arreglos y funciones, algo parecido a Matlab/Octave.
Listado de funciones básicas
El siguiente listado de las siguientes funciones son equivalentes a las funciones existentes en Matlab, basta con importar la libreria numpy en el preámbulo:
np.arange(n,m,k) # Crea un arreglo desde el valor n hasta el valor m-1, con incrementos de tamaño k.
np.abs(x) # Encuentra el valor absoluto de x.
np.sqrt(x) # Encuentra la raiz cuadrada de x.
(x)**(1/n) # Encuentra la raiz n-esima de x.
np.sign(x) #Regresa un valor de (-1) si x es menor que cero, un valor de (0) si es cero y (1) si x es mayor a cero.
np.exp(x) # Calcula el valor de la exponencial de x.
np.log(x) # Calcula el logaritmo natural de x.
np.log10(x) #Calcula el logaritmo base 10 de x.
np.round(x) #Redondea hacia abajo a un entero más cercano a x.
np.fix(x) #Redondea hacia abajo a un entero más cercano a x.
np.floor(x) # Redondea x al entero más cercano hacia infinito negativo.
np.ceil(x) # Redondea x al entero más cercano hacia infinito positivo.
np.gcd(x,y) # Encuentra el máximo común denominador de x,y.
np.lcm(x,y) #Encuentra el mínimo común múltiplo de x,y.
Use las funciones de numpy para responder las siguientes preguntas.