Conviértete en desarrollador Django: Día 3
Índice de contenido
Resumen:
Aprenda los fundamentos de Python y desarrolle las habilidades necesarias para crear aplicaciones básicas.
¿Cómo citar el presente artículo?
Romero, J. (15 de agosto de 2023). Título. python-data-engineer. https://www.python-data-scientist.com/es/blog/programacion/dia_1/.
¿Qué es la ciencia de datos? by Jeshua Romero Guadarrama, available under Attribution 4.0 International (CC BY 4.0) at https://www.python-data-scientist.com/es/blog/programacion/dia_1/.
Día 3. Operadores en Python
Descripción general
Python es un lenguaje de programación versátil, potente y popular para el desarrollo web, big data y secuencias de comandos. Django es un marco basado en Python que requiere conocimiento práctico de Python. En este módulo interactivo, aprenderemos los fundamentos de Python y manejaremos el lenguaje de programación más popular del mundo. Para cuando terminemos, tendremos las habilidades necesarias para crear aplicaciones básicas en Python.
Objetivos de aprendizaje
- Familiaridad con los componentes centrales de Python, incluidos los tipos de datos, variables y operadores.
- Experiencia práctica que implementa declaraciones condicionales y bucles en Python.
- La capacidad de escribir funciones y recursión en Python.
- Un conocimiento práctico de diferentes estructuras de datos en Python.
Contenido
Operadores
Esta lección destaca los diferentes tipos de operadores en Python.
Operadores se utilizan para realizar aritmética y lógico operaciones de datos. Nos permiten manipular e interpretar datos para producir resultados útiles.
Los operadores están representados por caracteres o palabras clave especiales.
En general, los operadores de Python siguen el infijo o prefijo anotaciones.
Los operadores infijo aparecen entre dos operandos (valores en los que el operador actúa) y, por lo tanto, generalmente se conocen como operadores binarios:
Figura 1. Operadores binarios.
El operador prefijo generalmente trabaja en un operando y aparece antes. Por lo tanto, los operadores de prefijos se conocen como operadores unitarios:
Figura 2. Operadores unitarios.
Los 5 tipos de operadores principales en Python son:
- Operadores aritméticos.
- Operadores de comparación.
- Operadores de asignación.
- Operadores lógicos.
- Operadores bit a bit.
Operadores aritméticos
En esta lección, aprenderemos cómo realizar cálculos utilizando operadores aritméticos.
A continuación, podemos encontrar los operadores aritméticos básicos en orden de precedencia. El operador listado más alto se calculará primero.
Estos operadores nos permiten realizar operaciones aritméticas en Python.
| Operador | Propósito | Notación |
|---|---|---|
() | Paréntesis | Encapsula la operación precedente |
** | Exponente | Infijo |
%, *, /, // | Módulo, Multiplicación, División, División de Piso | Infijo |
+, - | Adición, sustracción | Infijo |
Adición
Podemos agregar dos números usando el operador +:
print(10 + 5)
primer_flotante = 13.65
segundo_flotante = 3.40
print(primer_flotante + segundo_flotante)
numero = 20
flotante = 10.5
print(numero + flotante)
15
17.05
30.5
Como podemos ver en la línea 9, sumar un número entero y de punto flotante nos da un número de punto flotante.
Python convierte automáticamente el número entero a un número de punto flotante. Esto se aplica a todas las operaciones aritméticas.
Resta
Podemos restar un número del otro usando el operador -:
print(10 - 5)
primer_flotante = -18.678
segundo_flotante = 3.55
print(primer_flotante - segundo_flotante)
numero = 20
flotante = 10.5
print(numero - flotante)
5
-22.228
9.5
Multiplicación
Podemos multiplicar dos números usando el operador *:
print(40 * 10)
primer_flotante = 5.5
segundo_flotante = 4.5
print(primer_flotante * segundo_flotante)
numero = 3
flotante = 10.2
print(numero * flotante)
400
24.75
30.599999999999998
División
Podemos dividir un número por otro usando el operador /:
print(40 / 10)
primer_flotante = 5.5
segundo_flotante = 4.5
print(primer_flotante / segundo_flotante)
numero = 2
flotante = 12.4
print(flotante / numero)
4.0
1.2222222222222223
6.2
Una operación de división siempre da como resultado un número de coma flotante.
División de piso
En la división de piso, el resultado se eleva al entero más pequeño más cercano. También se conoce como división entera.
Para la división del piso, debemos usar el operador //:
print(43 // 10)
primer_flotante = 5.5
segundo_flotante = 4.5
print(primer_flotante // segundo_flotante)
numero = 2
flotante = 12.4
print(flotante // numero)
4
1.0
6.0
A diferencia de la división normal, la división del piso entre dos enteros da como resultado un entero.
Módulo
El número módulo de otro número se puede encontrar usando el operador %:
print(10 % 2)
veintiocho = 28
print(veintiocho % 10)
print(-28 % 10) # El residuo es positivo si el operando de la derecha es positivo
print(28 % -10) # El residuo es negativo si el operando de la derecha es negativo
print(34.4 % 2.5) # El residuo puede ser un flotante
0
8
2
-2
1.8999999999999986
Precedencia
Una expresión aritmética que contenga diferentes operadores se calculará sobre la base de precedencia del operador.
Siempre que los operadores tengan igual precedencia, la expresión se calcula desde el lado izquierdo:
# Distinta precedencia
print(10 - 3 * 2) # Primero se calcula la multiplicación, seguida de la resta
# Misma precedencia
print(3 * 20 / 5) # Primero se calcula la multiplicación, seguida de la división
print(3 / 20 * 5) # La división se calcula primero, seguida de la multiplicación
4
12.0
0.75
Paréntesis
Una expresión que está entre paréntesis internos se calculará primero, independientemente de la precedencia del operador:
print((10 - 3) * 2) # La resta ocurre primero
print((18 + 2) / (10 % 8))
14
10.0
¡Usando todas las operaciones anteriores, podemos calcular expresiones matemáticas complejas en Python!
Tenga en cuenta que nunca estamos restringidos solo a estos operadores, hay innumerables utilidades aritméticas más a nuestra disposición.
Operadores de comparación
En esta lección, aprenderemos cómo realizar comparaciones en Python utilizando operadores de comparación.
Los operadores de comparación se pueden usar para comparar valores en términos matemáticos.
| Operador | Propósito | Notación |
|---|---|---|
> | Mayor que | Infijo |
< | Menos que | Infijo |
>= | Mayor que o igual a | Infijo |
<= | Menos que o igual a | Infijo |
== | Igual a | Infijo |
!= | No es igual a | Infijo |
is | Igual a ( Identidad ) | Infijo |
is not | No es igual a ( Identidad ) | Infijo |
Comparaciones
El resultado de una comparación es siempre un bool.
Si la comparación es correcta, el valor del bool será True. De lo contrario, su valor será False.
Los operadores == y != comparan los valores de ambos operandos. Sin embargo, los operadores de identidad, is y is not, verifican si los dos operandos son exactamente los mismos objetos.
Veamos algunos ejemplos:
primero_numero = 5
segundo_numero = 10
tercer_numero = 10
primera_lista = [6,7,8]
segunda_lista = [6,7,8]
print(segundo_numero > primero_numero) # 10 es mayor que 5
print(primero_numero > segundo_numero) # 5 no es mayor que 10
print(segundo_numero == tercer_numero) # Ambos tienen el mismo valor
print(tercer_numero != primero_numero) # Ambos tienen valores diferentes
print(3 + 10 == 5 + 5) # Ambos no son iguales
print(3 <= 2) # 3 no es menor o igual que 2
print(segundo_numero is not tercer_numero) # Ambos tienen el mismo objeto
print(primera_lista is segunda_lista) # Ambos tienen diferentes objetos
True
False
True
True
False
False
False
False
Como podemos ver en la línea 7, segundo_numero es de hecho mayor que el primer_numero. Por lo tanto, el resultado es True. Por otro lado, línea 8 contiene una comparación incorrecta, que resulta en False.
Operadores de asignación
Esta lección muestra los diversos operadores de asignación de Python y su propósito.
Esta es una categoría de operadores que se utiliza para asignar valores a una variable. El operador = es un operador de asignación, pero no el único.
Aquí hay una lista de todos los operadores de asignación compatibles con Python:
| Operador | Propósito | Notación |
|---|---|---|
= | Asignar | Infijo |
+= | Agregar y asignar | Infijo |
-= | Restar y asignar | Infijo |
*= | Multiplicar y asignar | Infijo |
/= | Dividir y asignar | Infijo |
//= | Dividir de piso y asignar | Infijo |
**= | Potenciar y asignar | Infijo |
%= | Tomar modulo y asigna | Infijo |
|= | OR y asignar | Infijo |
&= | AND asignar | Infijo |
^= | XOR y asignar | Infijo |
>>= | Desplazar a la derecha y asignar | Infijo |
<<= | Desplazar a la izquierda y asignar | Infijo |
Asignación de valores
Veamos algunos ejemplos para ver cómo se asignan los valores a las variables.
Las variables son mutable, para que podamos cambiar sus valores cuando queramos!
ano = 2019
print(ano)
ano = 2020
print(ano)
ano = ano + 1 # Usar el valor existente para crear uno nuevo
print(ano)
2019
2020
2021
Una cosa a tener en cuenta es que cuando una variable, primera, se asigna a otra variable, segunda, su valor es copiado en segunda. Por lo tanto, si luego cambiamos el valor de primera, segunda no se verá afectado:
primera = 20
segunda = primera
primera = 35 # Actualizando 'primera'
print(primera, segunda) # 'segunda' permanece sin cambios
35 20
Los otros operadores
A continuación, podemos ver algunos de los operadores de tareas de los que hablamos en acción:
numero = 10
print(numero)
numero += 5
print(numero)
numero -= 5
print(numero)
numero *= 2
print(numero)
numero /= 2
print(numero)
numero **= 2
print(numero)
10
15
10
20
10.0
100.0
Operadores lógicos
¡Entendamos el propósito de los operadores lógicos!
Los operadores lógicos se utilizan para manipular la lógica de expresiones booleanas.
| Operador | Propósito | Notación |
|---|---|---|
and | AND | Infijo |
or | OR | Infijo |
not | NOT | Prefijo |
Expresiones lógicas
Las expresiones lógicas se forman utilizando booleanos y operadores lógicos.
A continuación, podemos encontrar algunos ejemplos:
# Expresión OR
mi_bool = True or False
print(mi_bool)
# Expresión AND
mi_bool = True and False
print(mi_bool)
# Expresión NOT
mi_bool = False
print(not mi_bool)
True
False
True
Valor de bits
Todo el código que vemos a nuestro alrededor en el mundo de hoy está compuesto de bits. Combinaciones de 1s y 0s forman la base de la programación.
En términos de bits, el valor de True es 1 y False corresponde a 0:
print(10 * True)
print(10 * False)
10
0
El intérprete de Python puede convertir automáticamente el bool a su forma numérica cuando sea necesario.
Operadores bit a bit
Esta lección muestra todos los diferentes operadores bit a bit disponibles en Python.
En programación, todos los datos están compuestos de 0s y 1s conocido como bits. Los operadores bit a bit nos permiten realizar operaciones relacionadas con bits en valores.
| Operador | Propósito | Notación |
|---|---|---|
& | Bit a bit AND | Infijo |
| | Bit a bit OR | Infijo |
^ | Bit a bit XOR | Infijo |
~ | Bit a bit NOT | Prefijo |
<< | Desplazar bits a la izquierda | Infijo |
>> | Desplazar bits a la derecha | Infijo |
Ejemplos
primer_numero = 10 # Valor binario = 01010
segundo_numero = 20 # Valor binario = 10100
print(primer_numero & segundo_numero) # 0 -> Valor binario = 00000
print(primer_numero | segundo_numero) # 30 -> Valor binario = 11110
print(primer_numero ^ segundo_numero) # 30 -> Valor binario = 11110
print(~primer_numero) # -11 -> Valor binario = -(1011)
print(primer_numero << 3) # 80 -> Valor binario = 0101 0000
print(segundo_numero >> 3) # 2 -> Valor binario = 0010
0
30
30
-11
80
2
Explicación
En la línea 4, realizamos el bit a bit AND. Esta operación toma un poco de num1 y el bit correspondiente de num2 y realiza un AND entre ellos.
En términos simples, AND puede considerarse como una multiplicación entre los dos operandos.
Ahora, visualicemos este ejemplo:
num1 es 01010 en binario y num2 es 10100. En el primer paso, se toman los primeros dígitos binarios de ambos números: 01010 10100 0 & 1 daría 0 ( nuevamente, piense en ello como una multiplicación ). A continuación, tomamos los segundos dígitos: 01010 10100 Estos dos nos darán una vez más 0. Al hacer esto para todos los pares, podemos ver que la respuesta es 0 cada vez. Por lo tanto, la salida es 00000. La operación OR en línea 5 funcionará en el mismo principio, excepto que en lugar de multiplicar, realizaremos la suma entre los dos números binarios.
0 OR 1 nos da 1. 1 OR 1 también produce 1 Los números binarios ( no van más allá 1). Sin embargo, 0 OR 0 nos dará 0 ( 0 + 0 sigue siendo 0 ).
Bitwise XOR y NOT también funcionarán en cada bit. Puedes jugar con el código para tener una mejor idea.
Las operaciones de cambio de bits (» y «) simplemente mueva los bits hacia la derecha o hacia la izquierda. Cuando se desplaza un número binario, un 0 también ingresa en el extremo opuesto para mantener el número del mismo tamaño.
Supongamos que tenemos un número binario 0110 ( 6 en decimal ). La operación que realizamos es 0110 » 2:
0110 > > 2 0011 ( mueva un paso hacia la derecha ) 0001 ( mueve un paso más hacia la derecha ) Operación completa Del mismo modo, podemos mover 0110 dos veces hacia la izquierda con la siguiente operación 0110 « 2:
0110 < < 2 01100 ( mueve un paso hacia la izquierda ) 011000 ( mueve un paso más hacia la izquierda ) Operación completa Nota: En Python, los ceros principales están truncados. Por ejemplo, el número 0011 será lo mismo que 11. Del mismo modo, el número 0001011 será lo mismo que 1011.
Atrás Operadores de asignación
Marcar como Comp
La naturaleza del lenguaje.
Desarrollado en 1990, Python es uno de los más populares propósito general lenguajes de programación en los tiempos modernos.

Figura 1. Python.
El término “ propósito general ” simplemente significa que Python se puede usar para una variedad de aplicaciones y no se enfoca en ningún aspecto de la programación.
Un lenguaje de alto nivel
Python cae dentro de la categoría de de alto nivel, interpretado idiomas. Un lenguaje de alto nivel es uno que nuestra máquina no puede entender directamente. Hay un cierto grado de abstracción en su sintaxis. Las máquinas generalmente están diseñadas para leer código de máquina, pero la sintaxis de alto nivel no se puede convertir directamente en código de máquina.
Como resultado, primero debe convertirse en bytecode que luego se convierte en código de máquina antes de que se pueda ejecutar el programa.
Python es un lenguaje interpretado porque, durante la ejecución, cada línea se interpreta en el lenguaje de máquina sobre la marcha.
Sin embargo, si tomamos el ejemplo de C + +, el código debe compilarse primero en un ejecutable y luego puede ejecutarse. En Python, podemos omitir este paso de compilación ( Python lo hace por nosotros detrás de escena ) y ejecutar directamente el código.
Legibilidad
Una de las principales razones del rápido crecimiento de Python es la simplicidad de su sintaxis. El idioma se lee casi como el inglés simple, lo que facilita la escritura de programas complejos.
Como no tiene mucha curva de aprendizaje, Python es un muy buen punto de entrada al mundo de la programación para principiantes.
Aplicaciones
Además de la facilidad de aprendizaje, Python es un lenguaje muy eficiente que se utiliza en casi todas las esferas de la informática moderna.
Esto es un argumento sólido para aprender Python, incluso para los no programadores.
Algunas de las principales aplicaciones de Python se destacan a continuación:
Figura 2. Aplicaciones de Python.
Historial de versiones
Python ha tenido varias actualizaciones importantes en el pasado. Python 2.7 fue ampliamente utilizado durante mucho tiempo, incluso después del lanzamiento de versiones más nuevas.
Sin embargo, Python 2.7 ha quedado en desuso a partir del 01 de enero de 2020 y reemplazado por completo por 3.xx versiones, conocidas como Python 3. Las diferencias entre Python 2.7 y Python 3 son diminutas, pero importantes de todos modos.
Para mantenernos al día con las últimas tecnologías, utilizaremos Python 3.
Podremos escribir y ejecutar código Python aquí mismo.
Escribiendo nuestro primer código
En esta lección, examinaremos uno de los códigos más simples en la sintaxis de Python.
¡En esta lección, comenzaremos a escribir código! Entonces, pasemos a las cosas divertidas.
Las declaraciones print
Cada vez que aprendemos un nuevo idioma, es una tradición milenaria comenzar mostrando el texto “Hola mundo” en la pantalla.
Cada idioma tiene una sintaxis diferente para mostrar o impresión Algo en la pantalla.
Como Python es uno de los idiomas más legibles que existen, podemos imprimir datos en el terminal simplemente usando la declaración print.
Así es como se ve la declaración:
print(datos)
Lo que necesitemos imprimir está encapsulado entre paréntesis después de print palabra clave. Intentemos imprimir “ Hello World ” en el terminal:
El presente blog ha sido patrocinado mediante crowdfunding con el siguiente mensaje: Nuestro Señor Jesucristo, el único Dios verdadero, es misericordioso y nuestro Salvador.
