En todo el mundo los seres humanos hablan varios idiomas según su lugar de origen. Asimismo, las computadoras manejan diferentes lenguajes de programación para realizar diferentes actividades o tareas.
En los últimos años, el desarrollo de las aplicaciones web ha estado en una constante evolución y Python no se queda atrás, ya que esto lo ha convertido en una de las mejores opciones para el desarrollo de software, tanto para el frontend (usuario) como para el backend (base de datos) de un sitio web.
También se puede utilizar para desarrollos de análisis numéricos, análisis de datos, investigaciones científicas, inteligencia artificial, aplicaciones online y offline, así como videojuegos y muchos otros tipos de aplicaciones más.
En resumen, este lenguaje se refleja en muchas aplicaciones para diversos oficios; dominarlo convierte a cualquier desarrollador en experto en todo tipo de programación.
Por otra parte, PowerShell es una serie de comandos y el lenguaje es una secuencia de comandos, todo en uno, de tal manera que se puedan ejecutar los comandos de manera remota o local, así como la administración de usuarios o la automatización de los flujos de trabajo (workflows).
Si una empresa está adoptando la filosofía de DevOps, PowerShell es de gran utilidad para el equipo de desarrollo o el de operaciones, y poder administrar los recursos en la nube en las etapas de integración continua y entrega continua para ampliar las capacidades al momento de la instalación de módulos.
Python
Este lenguaje fue creado por Guido Van Rossum en 1991, es de código abierto y es fácil de aprender. Maneja una diversidad de paradigmas de programación, incluyendo la programación funcional, así como la programación orientada a objetos. Es un lenguaje de programación dinámico, enfocado en una estructura de código fácil de interpretar, ya que cuenta con menos pasos en la codificación a diferencia de Java o C++.
Existen varias razones para que aprendas este lenguaje, las cuales son las siguientes:
Una de las herramientas más populares para la programación en Python es Anaconda, la cual puedes descargar de manera gratuita en su sitio y puedes revisar el video que está en el apartado de videos requeridos para la descarga e instalación de la plataforma de una manera clara y sencilla.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
En esta plataforma se recomienda utilizar el paquete de Spyder, ya que para los desarrolladores principiantes será más sencillo aprender y ejecutar el lenguaje.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
A continuación, revisarás la programación orientada a objetos (POO). Las variables pueden guardar diferentes tipos como cadenas de caracteres (strings), números enteros, números de punto flotante y booleanos. Una de las ventajas de este lenguaje es que el tipo de variable se asigna automáticamente dependiendo del dato que se va a guardar.
Ejemplo:
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
En Python, como en el resto de los lenguajes de programación, se manejan diferentes modos para poder controlar el flujo del programa. Lo primero que tienes que tomar en cuenta es que en este lenguaje la identación es obligatoria, ya que de ella depende toda la estructura del programa. Una identación de cuatro espacios en blanco indica que las instrucciones identadas forman parte de una misma estructura de control, como se puede ver en el ejemplo:
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Una estructura de control es un bloque de código que permite agrupar instrucciones de manera controlada. Estas son dos estructuras de control que se utilizan en Python:
Las estructuras de control condicionales son aquellas que permiten evaluar si una o más condiciones se cumplen, para decir qué acción vas a ejecutar (verdadero o falso).
Antes de entrar a detalle sobre estas estructuras tienes que recordar cómo se utilizan los operadores relacionales (comparación) en las condiciones:
Tabla 1. Operadores relacionales.
Para evaluar más de una condición simultáneamente utiliza operadores lógicos (and, or):
Tabla 2. Operadores lógicos.
Las estructuras condicionales se definen con tres palabras reservadas If (si), elif (sino, si) y else (sino).
Ejemplo 1:
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Ejemplo 2:
Vas a comprar un artículo. Si cuesta $100, lo pagas en efectivo; si cuesta más de $100, pero menos de $300, pagas con la tarjeta de débito. Si no, pagas con la tarjeta de crédito.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Las estructuras de iteración (ciclos o bucles) te permiten ejecutar un mismo código de manera repetida, mientras se cumpla una condición, ya sea verdadera o falsa.
Python dispone de dos estructuras de iteración:
La estructura while es una estructura que repetirá un bloque de instrucciones, mientras la condición se cumpla.
Ejemplo:
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
La estructura for, en Python, es aquella que te permite iterar en una lista o tupla:
Ejemplo:
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Una función es un bloque de código que se ejecuta solo cuando se le llama. A estas funciones se les puede pasar datos, a los que se les conoce como parámetros. Para crear una función, tienes que utilizar la palabra reservada “def”.
Ejemplo sin parámetros:
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Ejemplo con parámetros:
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Python es un lenguaje que se utiliza en la programación orientada a objetos y se puede decir que todo en Python es un objeto con sus propiedades y métodos. Las clases se crean para poder crear objetos y se utiliza la palabra reservada class.
Ejemplo:
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Ahora puedes usar la clase MiClase para crear un objeto.
Ejemplo:
Crear un objeto llamado objeto1 para imprimir el valor de x que tienes en la clase MiClase.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Todos los datos utilizados en Python son descritos como objetos y estos son clave en la programación orientada a objetos. Si miras alrededor, puedes encontrar muchos objetos como carros, animales, plantas, etcétera.
Los atributos o propiedades de los objetos son las características que puede tener un objeto como el color. Si el objeto es “Empleado”, los atributos podrían ser: cédula, nombre, apellido, sexo, etcétera.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Crea un objeto llamado empleado1 para imprimir sus valores.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Los ejemplos que has visto hasta ahora son objetos en su forma simple y no son muy útiles en las aplicaciones reales. Todas las clases tienen una función __init__(), que en otros lenguajes sería el equivalente a los constructores y esta función se ejecuta cuando se realiza el llamado de la clase. Asimismo, sirve para asignar valores a las propiedades de los objetos o cualquier otra instrucción que se tenga que ejecutar al momento de crear un objeto.
Ejemplo:
Crea una clase que se llama Empleado, después crea un objeto llamado empleado1 y por medio de la función __init__ (constructor), pásale los datos para posteriormente tener acceso a sus propiedades (atributos) e imprimirlas.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
La palabra reservada self se utiliza para hacer referencia a la instancia de la clase y es el equivalente a la palabra reservada this en Java y es usado para tener acceso a las propiedades de la clase. No tiene, necesariamente, que llamarse self; se le puede llamar de cualquier manera.
Ejemplo:
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Una clase puede tener varias propiedades (variables) cuando se instancia uno o más objetos. Cada objeto puede tener valores únicos de cada una de las propiedades que contengan. Para crear estas propiedades se crean funciones dentro de la clase que son llamadas getters y setters.
Ejemplo:
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Los módulos, en Python, ayudan a reutilizar clases o funciones. Un módulo es como una librería, el cual puede ser llamado en tu script, ya sea para crear objetos o ejecutar funciones directamente. Algunos de los módulos con los que este lenguaje cuenta son NumPy, pandas y SciPy.
Ejemplo:
Para crear un módulo, primero tienes que crear un archivo para después poderlo importar en el script en el cual estás realizando la codificación principal; para este ejemplo el archivo que será el módulo se llamará fruta.py
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
En la codificación principal o programa (temp.py) importa el módulo fruta.py utilizando la palabra reservada import para posteriormente realizar la llamada de la función.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
La herencia es uno de los pilares de la programación orientado a objetos. Esto significa que una clase puede heredar propiedades y funciones de otra clase. La clase padre o clase base es la clase de la cual se está heredando y la clase hijo o clase derivada es la clase que está heredando. La herencia evita que se repitan propiedades o funciones que ya se tienen en otras clases.
Ejemplo:
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Una clase abstracta es un modelo que contiene una serie de métodos abstractos que tienen que implementarse en sus clases derivadas. Por otra parte, un método abstracto es aquel que tiene una declaración, pero no tiene una implementación en la clase base. La utilidad de las clases abstractas es la de poder crear unas estructura o interfaz que se pase a todas las clases derivadas por medio de la herencia.
Python no proporciona clases abstractas, sino que contiene un módulo que tiene la base para definirlas. El nombre del módulo es ABC; este módulo trabaja decorando los métodos de la clase base como abstractos y utiliza la palabra clave @abstractmethod. Es importante saber que las clases que son abstractas no pueden ser instanciadas para la creación de objetos.
Ejemplo:
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Los entornos virtuales son importantes para trabajar en diferentes proyectos de manera independiente, ya que son espacios en donde se tienen los recursos aislados, así como las librerías y, de esta manera, se puede tener todo organizado y bien estructurado.
Cuando se está desarrollando una o varias aplicaciones debes tener cuidado con las incompatibilidades y, para ello, es mejor organizar todo en entornos virtuales. Por ejemplo, puedes estar desarrollando una aplicación en un entorno virtual con la versión 3.8 de Python y, en paralelo, estar desarrollando en otro entorno con la versión 2.6 de Python.
¿Y porque se tiene que tomar en cuenta las versiones en las que se está desarrollando? Pues porque ciertas versiones no cuentan con soporte para Python cuando este tiene actualizaciones; también pueden suceder situaciones en las cuales tienes que trabajar en servidores en donde la versión de Python es diferente de la que se tiene en el ordenador.
Es recomendable crear un entorno virtual por proyecto. Actualmente, existen otras alternativas para crear y trabajar con entornos virtuales, pero una de las mejores es Anaconda. Para crear un entorno virtual en Anaconda tienes que seleccionar Environments, como se muestra en la imagen.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
En la parte de abajo tienes que oprimir el botón Create.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Por último, tienes que poner el nombre del “Entorno virtual” que se va a crear y la versión de Python con la que vas a trabajar.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Después de crear el entorno, ya solo tienes que instalar Spyder para después poder revisar las librerías y, en caso de que te falte alguna, instalarla en el entorno que estés trabajando como se muestra en la imagen.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Los entornos virtuales son herramientas muy populares en la actualidad y estos te permiten administrar paquetes y programas sin ocupar permisos de administrador, ya que son espacios aislados en donde se puede trabajar con múltiples versiones de paquetes de Python y, al mismo tiempo, tener los proyectos organizados en un ambiente virtual.
PowerShell
PowerShell de Windows es un lenguaje de scripting, así como un motor para la automatización orientada a objetos. Está diseñado para que los administradores de sistemas automaticen y controlen el sistema operativo de Windows y otras aplicaciones por medio del “command prompt” y “Windows script host”. Esto ayuda a resolver problemas de manera eficiente, ayudando al administrador del sistema a reducir las horas de trabajo manual; es un motor de tareas que usa cmdlets para programar las tareas que los usuarios deben realizar y así automatizar los flujos de trabajo.
En las empresas que están adoptando la filosofía de DevOps, PowerShell ayuda en la operación o el desarrollo, ya que pueden administrar los recursos de la nube, programar tareas, así como la integración y entrega continua.
Para ejecutar en Windows PowerShell es muy sencillo: en el buscador de Windows teclea PowerShell y lo ejecutas.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
PowerShell usa variables que son representadas por texto que empiezan con el signo de dólar ($), como $MiVariable, $x, $proceso o $Mi_Var. No hay diferencia si las variables se escriben con mayúsculas o minúsculas y se pueden incluir espacios o caracteres especiales.
Ejemplo:
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Para obtener la lista de todas las variables en la sesión en PowerShell, utiliza la palabra reservada Get-Variable sin el signo de dólar.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Las variables también pueden alojar información de los comandos que se tiene por defecto.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Para borrar el dato de la variable, utiliza el cmdlet Clear-Variable o puedes cambiarlo utilizando $null.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Los tipos de variables que se utilizan en PowerShell son los siguientes:
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
En esta herramienta hay más de 100 cmdlets por defecto para poder visualizar la lista de todos los comandos, alias, funciones, etc. Se ejecuta por medio del comando Get-Command.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
PowerShell es una interfaz de línea de comandos (CLI) que permite crear y ejecutar scripts (unión de comandos) para facilitar la automatización de los procesos; también puede crear nuevos cmdlet a partir de scripts o código compilado, además de que puede tratar con objetos y, como resultado, dar salidas de información muy completos.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
En las operaciones en PowerShell, para visualizar todo el contenido del directorio actual, utiliza el comando Get-ChildItem. Para navegar entre directorios, usa el comando Set-Location. Es importante que todos los cmdlets se pueden usar por medio de la forma “Verbo-Sustantivo”(Bash). En este caso, en lugar de usar el comando completo (Set-Location), se usará solamente las siglas sl.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
En la imagen se muestra cómo usando solo sl se realizó el cambio al escritorio y si se escribe el comando-espacio y después 2 puntos se regresa un directorio.
Para crear nuevos directorios, utiliza el comando mkdir. Para crear los directorios se recomienda que no utilices espacios en el nombre para evitar errores al trabajar con los comandos. Para el ejemplo, el directorio se llamará aprendiendoPowerShell.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
En el ejemplo se crea el directorio usando el comando mkdir; usando sl (Set-Location) se navega al directorio nuevo que se creó. Al usar gci (Get-ChildItem) para mostrar el contenido del directorio no aparece nada, ya que el directorio está vacío. Es por lo que después se crea otro directorio dentro del primero llamado dir1. Por último, al usar gci nuevamente ya aparece la información del último directorio que se creó.
El comando explorer, al usarlo en PowerShell, abre la ventana del explorador, pero si escribes explorer-espacio-punto, abre el explorador con el directorio en el que estés en el momento.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
El comando Remove-Item o rm se usa para eliminar permanentemente un directorio, pero se debe tener mucho cuidado, ya que al eliminarlo no se va a la papelera de reciclaje y, por lo tanto, el directorio y los archivos se perderán.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Se utilizó el comando rm para eliminar el directorio dir1 y se comprueba usando el comando gci, al no mostrar nada significa que el directorio fue eliminado correctamente.
Con el comando New-Item (ni) puedes crear archivos.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Con los comandos copy-Item (cp) y move-Item (mv) puedes copiar y mover archivos.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
En la imagen se creó un directorio usando mkdir, dentro del directorio aprendiendoPowerShell junto con los archivos de texto ejemplo1, y ejemplo 2.
Ahora, puedes copiar el archivo ejemplo.txt usando el comando cp (Copy-Item) y las copias se llamarán ejemplo2.txt y ejemplo3.txt. Por último, se comprueba el directorio con el comando gci, como se muestra en la imagen.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Después, comprueba con el comando gci y, por último, usa el comando mv – archivo – directorio destino. El archivo ejemplo.txt se mueve al directorio dir1.
Los arreglos son una colección de objetos y estos no tienen que ser del mismo tipo; PowerShell trata cualquier arreglo o lista separadas por comas.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Para poder recorrer todo un arreglo, usa el comando foreach y si necesitas imprimir un elemento en específico, utiliza la notación nombreArreglo [posición-elemento]. Para agregar un elemento u objeto al arreglo se usa el operador +=. Lo que no es posible es borrar un elemento; lo mejor es crear un arreglo nuevo.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Los Hashtable es una colección de objetos y a cada uno se le relaciona una clave con valores y se accede al valor a través de la clave que tiene asociada. Por defecto, los objetos de la tabla se imprimen sin un orden; para ordenarlos se utiliza la palabra reservada [Ordered]. También se puede acceder a cada uno de los elementos por medio de la clave, así como asignar un nuevo valor a una clave. Por último, también puedes agregar(Add) o eliminar(Remove) claves, así como limpiar toda la tabla con la función Clear().
Así es como se crea y manipula una Hashtable.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Para trabajar con objetos en PowerShell no es muy diferente de otros lenguajes de programación, solo cambia un poco la sintaxis.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
En la imagen puedes apreciar que se crea una clase Coche con dos atributos (marca y modelo), después se realiza una instancia de la clase para proporcionarle valores a los atributos (Audi, A2). Por último, se imprime la información de la clase y se convierte a JASON.
Aquí se muestra otro ejemplo de la clase coche, pero con constructor, así como el método getter.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
PowerShell ayuda a simplificar las tareas administrativas, de gestión y configuración de los sistemas en Windows, ya que se pueden crear scripts para la automatización de procesos que se ejecuten manualmente o que sean repetitivos y, con esto, se pueden mejorar los tiempos y al mismo tiempo disminuir las fallas en los sistemas.
Python es un lenguaje que admite la programación orientada a objetos y la programación funcional. Tiene características de administración de memoria dinámica que pueden hacer uso de los recursos computacionales de manera eficiente. También es compatible con todas las plataformas populares y los sistemas operativos. Esta herramienta, por su flexibilidad, puede ser aceptada universalmente por todos los programadores.
Por otra parte, PowerShell es una herramienta que facilita la administración y configuración del sistema Windows o programas de Microsoft, agiliza las tareas del equipo de administración y desarrollo, ya que pueden crear scripts que ayuden a automatizar actividades que sean repetitivas o manuales.
Asegúrate de: