Si no eres programador, Python podría ser tu punto de partida ya que está en el top de los lenguajes de programación de la lista 2021 y además es el más fácil de aprender. Si conoces otros lenguajes de programación, aprender Python te resultará muy fácil. Salvo por las diferencias de sintaxis, los conceptos básicos de POO siguen siendo los mismos. Además, Python tiene extensas bibliotecas que soportan casi todo lo que quieras hacer.
- Python es
- La mejor manera de empezar a aprender Python
- Variables y tipos de datos
- Operaciones
- Condiciones
- Funciones
- Programación orientada a objetos
- Estructuras de datos
- Conexión a la base de datos
- Manejo de archivos
- Concurrencia y Multithreading
- Creación de servicios API
- Creando una aplicación web
- Palabra final
Python es
- Los módulos de soporte son legibles y fácilmente comprensibles y fomentan la reutilización del código.
- Lenguaje multiplataforma – codifica una vez, ejecuta en cualquier lugar (Windows, Linux, Unix, Mac, etc…)
- Lenguaje interpretado – el intérprete ejecuta cada línea de código una por una, lo que facilita la depuración.
- Código abierto, por lo que puedes practicar fácilmente cuando quieras
Además, Python tiene un excelente conjunto de bibliotecas estándar
- que permiten la integración con otros lenguajes como Java, C, C++.
- Soporta la programación orientada a objetos
Con esto en mente, vamos a repasar los temas que necesitas aprender para dominar Python, empezando por los básicos hasta los avanzados. Al final de este artículo, sabrás suficiente Python para empezar a codificar, responder a las preguntas de las entrevistas y conseguir un excelente trabajo para ti.
Puedes instalar Python desde su página oficial.
La mejor manera de empezar a aprender Python
La mejor manera de aprender Python es poner en práctica todo lo que leas. Simplemente abre tu portátil, instala Python y empieza a codificar. Puedes aprender sobre la marcha!
Pero, antes de hacerlo, aquí tienes algunos consejos para que te resulte más fácil –
- Si no eres programador, ten un poco más de paciencia. Seguro que lo conseguirás. Python es la forma más fácil de introducirse en la programación.
- Piensa en tu pequeña aplicación y haz tu aprendizaje en torno a ella. Preferiblemente construye una web sencilla usando Django. Por ejemplo, navegar a través de la lista de teléfonos y comprar uno, la compra de su comestible semanal en línea, la gestión de los detalles de los empleados, y más. Si sólo lees y no pruebas lo que lees, no podrás captar ni recordar los conceptos.
- Si te equivocas, significa que vas en la dirección correcta. Si cometes muchos errores, es genial. Cada error debe hacer que te entusiasmes y tengas ganas de encontrar la solución. El mejor aprendizaje es a través de los errores y las excepciones.
- Toma un reputado curso online para iniciar tu viaje en Python. From Zero to Hero in Python es uno de los mejores cursos en internet para empezar a aprender Python.
- Aprende la sintaxis en el camino. No gastes mucho tiempo en aprender solo la sintaxis. Ten un proyecto configurado con un IDE como PyCharm, y empieza a codificar. Conocerás la sintaxis a medida que escribas más código.
- Empiece con un proyecto sencillo y mejore la funcionalidad a medida que codifique. Incluya conceptos más complejos a medida que pueda desarrollar código.
Bien, sin más teorías, empecemos.
Es posible que quieras saltarte los primeros subtemas si ya conoces uno o dos lenguajes más. Estos te darán la bienvenida al mundo de la programación familiarizándote con las jergas comunes utilizadas en la mayoría de los lenguajes.
Variables y tipos de datos
Suponga que quiere comprar un teléfono. Buscas entre un montón de teléfonos y añades uno a tu cesta de la compra. ¿Cómo sabe el ordenador dónde almacenar sus datos, como el modelo de teléfono, el plan que ha elegido y los accesorios, por ejemplo, los auriculares que ha añadido?
Los datos se almacenan en forma de variables. Ayudan a la aplicación a retener y pasar los datos desde el principio hasta el final de la aplicación (por ejemplo, la página de realizar el pedido) donde termina su pedido.
Hay diferentes tipos de datos. Por ejemplo, tu número de teléfono será un entero; el plan de servicio podría ser un String, una variable para determinar si tienes algún cupón podría ser un Booleano, y así sucesivamente. Integer, Boolean, String (y algunos otros) son llamados como tipos de datos.
Veamos un ejemplo sencillo –
handset_id = 90993plan = "MYPLAN199"print(handset_id, plan)
Podemos utilizar estas variables handset_id y plan en toda la aplicación en lugar de utilizar valores hard-coded.
Operaciones
Cualquier cosa que hagamos sobre los datos se llama proceso. Operaciones de suma, resta, comparación o lógica. Por ejemplo, para comparar el nuevo plan móvil de un usuario y el plan existente, podemos escribir algo como –
print(new_plan == old_plan)
El doble igual es un operador de comparación que devuelve un verdadero o un falso como salida. Hay muchos operadores en Python.
Condiciones
Digamos que un descuento se aplica a su plan basado en algunas enfermedades como su uso mensual, la elección del teléfono, y varios otros factores. ¿Cómo comprueba la aplicación automáticamente si tienes derecho a un descuento? Comprobando si se cumplen estas condiciones!
if(plan == 'DISCOUNT30' and customer_existing):print('You are eligible for discount')else if(some_condition):#some block of codeelse#some other block of code
Hay muchas otras condiciones en Python, como los bucles while y for. Lee este excelente blog para conocer las sentencias condicionales de Python.
Funciones
A veces, hay ciertas funcionalidades que podemos querer reutilizar, o un trozo de código puede ser tan grande que puede ser una buena idea moverlo a un bloque separado y llamarlo siempre que sea necesario. Estos bloques se llaman funciones. Por ejemplo, nuestro código anterior se puede mover a un archivo de utilidad, y cualquiera puede utilizar la función.
def check_for_discount(customer_existing):#function code
def define la función. Cuando llamamos a la función, pasamos el valor de customer_existing (en este caso). Esto se llama un parámetro. Podemos pasar cualquier parámetro a una función.
Programación orientada a objetos
La mayoría de los principales lenguajes de programación de hoy en día se basan en OOPS (conceptos de programación orientada a objetos), y también lo hace Python. Es un concepto sencillo y poderoso. En OOP, todo se considera como un objeto. Una clase es una entidad de la cual creamos objetos según sea necesario.
Mira este genial vídeo para aprender los conceptos de OOPS.
En nuestro ejemplo del teléfono, el teléfono puede ser una clase, y todos los detalles del teléfono como el modelo, la marca, el tipo, las características pueden ser sus atributos. Cada vez que un usuario selecciona un auricular, se creará un objeto de la clase Handset, y los detalles se rellenarán en sus atributos (variables miembro).
Se puede considerar a un ser humano como una clase – Humano. Sus atributos pueden ser el nombre, la edad, el género, etc. Puedes encontrarte como un objeto de la clase Humano con valores específicos como nombre = ‘Mac’, edad = ’22’, género = ‘M.’
Cada clase tiene atributos y métodos para obtener y establecer esos atributos. Una clase también tendrá un constructor o método init que creará el objeto de la clase siempre que sea necesario.
class Human:def ___init__(self, name, age, gender):self.name = nameself.age = ageself.gender = gender
Intenta aplicar esta analogía a nuestra clase de teléfono.
class Handset:def ___init__(self, handset_id, model, manufacture_date, features):self. handset_id = handset_idself. model = modelself. manufacture_date = manufacture_dateself.features = featuresdef printhandsetdetails():print(self.handset_id, self.model)
Ahora, digamos que un usuario ha añadido un teléfono particular en su carrito. Los detalles se pueden almacenar como –
handsetDetails = Handset("NOKN96", "2009", "23-05-2009", "slim")
Supongamos que queremos imprimir estos detalles, podemos añadir un método dentro de la clase para hacer esto y llamarlo como handsetDetails.printhandsetdetails()
Estructuras de datos
El término estructura de datos es común a todos los lenguajes de programación. En Python las llamamos como colección. Hay diferentes tipos de grupos en Python que hacen que el almacenamiento y la recuperación de datos, un pedazo de pastel. Estos también hacen que el programa sea rápido y eficiente. Los cuatro tipos principales de colección son –
- Lista – la más simple de todas las estructuras de datos, la lista es una colección ordenada, que también es modificable. Por ejemplo,
featurelist =
Para acceder a los elementos de la lista, nos referimos a ellos utilizando el índice, y el índice siempre empieza por 0. featurelist te dará frontcamera.
- Tuple – también está ordenada pero no es modificable. No se puede añadir o eliminar elementos en una tupla.
- Set – colección no ordenada y no indexada. No se puede acceder a los elementos del conjunto utilizando el índice; sin embargo, se puede hacer un bucle a través de los elementos o escanearlos para comprobar si un elemento está presente.
- Diccionarios – también llamados como mapas, se accede a ellos a través de pares clave-valor. Son desordenados. Por ejemplo,
handsetdetails = { "name": "Nokia6.1", "color": "Black", "RAM": "6GB"}
Para obtener el valor, debemos acceder utilizando la clave handsetdetails.
Este curso gratuito de udacity es bueno para que tengas un conocimiento detallado de las estructuras de datos y algoritmos de Python. Si usted toma esto, usted será capaz de utilizar las estructuras de datos en cualquier lenguaje de programación más adelante.
El aprendizaje de las estructuras de datos le ayudará a jugar con los datos en Python y construir una aplicación a gran escala con facilidad. También te ayudará a dominar la escritura eficiente, el código eficiente y la programación dinámica.
Entradas del usuario
Obtener entradas del usuario es bastante sencillo. Basta con utilizar el método input() para obtener la entrada desde la consola.
name = input('Enter handset name - ')
Basado en el nombre recibido, puedes obtener detalles del teléfono y mostrarlo al usuario. Los datos pueden ser traídos desde un archivo o base de datos utilizando la conexión.
Conexión a la base de datos
Para conectarse a una base de datos, debe instalar el conector Python de MySQL (para MySQL) o el controlador MongoDB como PyMongo. Si usted es un principiante, vaya para MySQL ya que es más común y útil para aprender.
Este sencillo tutorial le guiará a través de los pasos para conectarse a la base de datos y obtener los detalles necesarios.
Manejo de archivos
El manejo de archivos es una parte esencial de cualquier aplicación. Su aplicación podría querer leer de un archivo, escribir en un archivo, y así sucesivamente. Es fácil implementar el manejo de archivos en Python. Hay dos tipos de datos en Python – binario, texto. Hay cuatro tipos de operaciones con archivos, que llamamos CRUD – Crear, Leer, Actualizar, Eliminar. Por ejemplo, podemos abrir un archivo como –
file = open("handsetlist.txt", "w");
#esto abrirá el archivo en ‘w,’ es decir, modo de escritura
Si damos ‘r,’ el archivo se abrirá en modo de lectura, para añadir una nueva fila, usamos ‘a’ (append). El modo ‘r+’ es un modo especial que maneja tanto acciones de lectura como de escritura mientras se trabaja con un archivo.
Para leer un archivo, usamos el método file. read () y para escribir, sí, ¡adivinaste bien! Usamos el método file.write(«datos a escribir»).
Lee y juega con más funciones de manejo de archivos desde este nítido y sencillo enlace.
Así que ahora, puedes crear programas individuales, aplicación independiente que da resultados perfectos. Pero, ¿qué tal un escenario en el que su aplicación se puede acceder por varias personas al mismo tiempo. Por ejemplo, una impresora a la que pueden acceder varios usuarios, ¿cómo maneja la impresora múltiples trabajos sin que se produzca un bloqueo?
Concurrencia y Multithreading
Puede haber situaciones como la anterior. Dos o más procesos están esperando el mismo recurso. Digamos que un proceso A está tratando de acceder a un recurso R. Ahora; el proceso B también intenta acceder al recurso R. Para evitar problemas de B anulando los datos de A, los procesos se sincronizarán donde-en cada proceso (B, C, D, etc…) se bloquea hasta que el hilo/proceso anterior A termine de usar el recurso R. Esto se llama exclusión mutua.
Significa que el proceso A bloquea el recurso hasta el momento en que lo utiliza, y lo libera cuando termina. Los otros procesos tienen que esperar su turno de tener el bloqueo. ¿Pero qué pasa si el proceso A se encuentra con un problema y no es capaz de completar su trabajo? ¿Qué pasa si el proceso A necesita algo del proceso B para ser completado, y B está esperando a que A lo complete? Esto se llama un bloqueo. Los bloqueos son mortales, y usted no los querría en su programa.
En un entorno de trabajo, es esencial conocer el multithreading, el multiprocesamiento y los bloqueos.
Creación de servicios API
Tomemos ahora una perspectiva más amplia: la del mundo web, donde los programas y las aplicaciones interactúan entre sí, comparten recursos y, lo que es más importante, se pasan peticiones entre sí utilizando el protocolo HTTP. Cada aplicación que puede comunicarse con otra se denomina microservicio. Esto significa que si quieres que tu aplicación interactúe con el mundo, debes saber cómo exponer tus servicios: ¡creando API! Puedes generar rápidamente servicios API utilizando la biblioteca de Python – Flask. Mira esta serie de videos para saber cómo hacerlo.
Creando una aplicación web
Ahora puedes crear tu aplicación web usando Python. Este tutorial gratuito te da un buen paso a paso para construir un proyecto usando Django y Python. Inscríbete en este curso y aprende sobre Django. Django es un framework web full-stack con el que puedes crear una aplicación web de principio a fin en Python. Utiliza la arquitectura MVC (Modelo-Vista-Controlador) y ORM (Object-Relational-Mapping) para el acceso a los datos. Hay librerías en Python que soportan completamente el ORM y la construcción de la seguridad de la aplicación web.
Palabra final
Eso es todo lo que se necesita para ser un profesional de Python. Partimos de la variable primaria y terminamos creando una aplicación web en toda regla. Si crees que estás preparado para salir y presentarte a las entrevistas, lee nuestras preguntas de entrevista sobre Python. Además, este completo blog te dará una excelente idea sobre los libros que necesitas como principiante o como programador avanzado de Python.
Y, lo más importante, echa un vistazo a algunos de estos mejores tutoriales de Python y adelante, inscríbete en algunos. Hay tutoriales gratuitos y de pago ambos, así que puedes elegir los que desees inscribir.
La gente también está leyendo:
- Los mejores cursos de Python
- Las mejores certificaciones de Python
- Los mejores proyectos de Python
- Los mejores IDE de Python
- Los mejores Frameworks
- Mejores compiladores de Python
- Mejores intérpretes de Python
- Lenguajes de programación de Python
- ¿Cómo ejecutar un script de Python?
- Multiplicación de matrices con NumPy