Transcripciones
1. Introducción a Python Skillshare: Bienvenido al curso de
programación Python. Mi nombre es Mark Bukowski y te
agradezco por elegir
esta formación Llevo muchos años trabajando
como administrador de DevOps y Cloud usando Python como herramienta para automatizar
muchas tareas mundanas Python es un lenguaje de
programación muy útil
y extremadamente popular, y se usa en IA, en automatización, redes
y muchos otros campos. Esta capacitación está diseñada
para llevarte de tener cero o muy poco
conocimiento de Python a completar comprensión lo más rápido
posible y
aprenderemos Python escribiendo código y construyendo cosas en lugar de simplemente
hablar de ello. En la segunda lección, no solo tendrás
Python ya instalado, sino que también tendrás escrito tu
primer programa. Si estás iniciando tu viaje a
Python desde cero, sugiero ver
estos videos en orden tal como aparecen en
la plataforma, quiero decir, porque saltar directamente a un video aleatorio puede ser
un poco difícil porque algunos de ellos pueden confiar en los conceptos discutidos
en materiales anteriores. Espero que esta capacitación les resulte informativa y les agradezco
por elegir esta formación.
2. 13 Instalación en Python y primer programa: En este video,
instalaremos Python. Veremos qué es
Interactive Shell, y también escribiremos nuestro
primer programa en Python. Empecemos por el proceso
de instalación entonces. Veremos cómo instalar Python en Windows,
Linux y Mac,
y voy a empezar desde MAC porque esa es
la parte más fácil, y es la más fácil porque el Python ya está
instalado en tu Mac. Esta es mi terminal Max, y puedes comprobar
qué versión de Python tienes instalada
escribiendo cualquiera de Python. Versión, es la versión dash dash
o la versión Python de tres
dash dash. Puedes ver que tengo instalada la Versión
3114 de Python aquí. Yo no hice eso. vino con ese Python instalado. También hay una
versión más corta de ese comando. Puedes ejecutar solo Python un guión y V, y
luego Python tres. Independientemente del sistema operativo, siempre
debe verificar
ambos comandos. La razón por la que uno podría
funcionar y el otro no es porque Python
tiene dos versiones principales. Es Python versión dos
y Python versión tres. Esa primera letra se
llama lanzamiento mayor, como puedes ver, es la versión tres de
Python, y esa es la Python que
nos interesa. Ahora bien, si tienes
Mac más viejo me refiero a MAC muy antiguo, es posible que solo tengas instalada la Versión
dos de Python. Que probablemente
se mostrará cuando ejecutes este comando, Python V. Si ese es
realmente el caso para ti, entonces necesitas instalar
Python en la versión tres porque esa
es la versión con la que
vamos a trabajar aquí. Es muy fácil.
Simplemente puedes ir a Google y simplemente escribir Python Mac Install
o algo similar. Y si vas ahí
a descargas, puedes ver descargar la
última versión para Macs Así que solo tienes que hacer clic en este botón y seguir las instrucciones. Pero al estar en el Mc, es probable que estés usando el instalador de
paquetes Home Brew. Entonces puedes ejecutar solo la actualización de Brew y la
actualización de Brew. Y una vez hecho eso, puedes seguirlo con
Brew Install Python three. Y este comando instalará Python inversion
three en tus Macs Ya lo tengo instalado, así que no lo voy a ejecutar, pero este es el comando
que te interesa. Eso es Macs D.
Te voy a mostrar ahora cómo
instalarlo en Centos seven y específicamente eligieron
ese viejo sistema operativo para veas exactamente de
lo que estoy
hablando ese Python
dos, Python tres Si voy a ese Cententos, vamos a Santos Este es el servidor enviado. Si ejecuto la versión Python, tengo Python en la versión
dos instalada aquí. También fue preinstalado. No tuve que
instalarlo, pero es la versión dos. Si ejecuto Python tres versión, dice comando no encontrado, pero necesito Python tres,
así que tengo que instalarlo. Sin embargo, es súper fácil. Es solo que pudo tararear primero, solo para asegurarnos de que nuestros
paquetes estén actualizados La información sobre
los paquetes está actualizada. Y una vez que eso se completa,
como puedes ver, está completo, solo
puedes ejecutar sudo, instalas IP tres Sí, firme. Eso fue rápido. Ahora
déjenme aclarar eso otra vez. Si ejecuto la versión Python, tengo la versión dos.
Todavía está ahí. Pero si ejecuto Python
tres versión, también
tengo Python
en la Versión tres. Eso es muy importante de
entender porque queremos
ejecutar el comando que se refiere
a Python versión tres. Espero que eso tenga sentido ahora. En esta frase en particular, tendría que correr
siempre Python tres. Pero no siempre es así. Si saltamos a Ubuntu ahora, ese es el otro servidor,
ese es el Ubunto. Entonces éste, el primero. Si ejecuto la versión Python, no muestra nada porque no viene con Python
versión dos instalada. Pero si ejecuto Python
tres versión, tiene Python tres
ya instalado. Yo no lo instalé.
Acaba de llegar con esta Python. Pero podrías estar en
Santos o boom to server, y ejecutas Python,
este primer comando, y volverá con
Python en la versión tres, porque es muy fácil
crear un llamado enlace sim
para que este comando se
refiera a ese comando. Sé que es un poco confuso, pero ambos comandos te
darían la misma salida. Por lo general, la gente ya no instala Python en la versión dos. Por lo general, la gente solo necesita la versión tres de
Python. Lo que es importante para nosotros, tenemos que saber qué
comando podemos ejecutar, así que trabajamos con Python
en la versión tres. Como dije, este Ubuntu vino con Python
tres preinstalados. Pero si no lo
tuviera instalado, el proceso sería muy sencillo. El proceso de instalación
sería muy fácil de todos modos, y básicamente es lo
mismo que envié siete, solo Ubuntu usa
en el administrador de paquetes, lo que significa que primero tenemos que
ejecutar sudo UT update Solíamos ejecutar la actualización de sudo Hum, si recuerdas,
en la
actualización de Santos y Sudo
UT aquí Bien, eso está terminado. Una vez hecho eso, ejecutamos sudo
upped install Python three. En lugar de Hum, solo
usamos UT. Esa es la
única diferencia. Entra, puedes ver que dice que Python tres ya es
la versión más reciente, al
menos del
instalador oficial del paquete instalador, así que no hizo nada realmente. Pero eso es básicamente todo. Entonces tenemos macOS y Linux. Vamos a revisar el Windows ahora. En Windows, puedo abrir
terminal escribiendo CMD. Esto abrirá mi terminal, y ellos ejecutan el mismo comando. Versión de Python, dice
Python no encontrado. Recuerda siempre ejecutar el otro comando
Python versión tres. Pero también dice que
Python no se encontró porque Windows no viene
con Python preinstalado. Así que sólo encontraremos uno.
Iremos a Google, Python instalamos Windows,
algo así. Simplemente vamos al primer Enlace. Descargas. Y dice, descarga la última
versión para Windows. Eso es lo que queremos
hacer. Haga clic en descargar. Una vez descargado,
simplemente hago clic en el archivo Ex. Instalación normal con solo una pequeña
diferencia en este momento. Dice, agrega Python ex a Path, y eso es lo que
realmente queremos hacer. Porque si no
hacemos eso, es posible hacerlo más adelante, pero requiere algunos conocimientos que solo podemos hacer clic en
el fondo y eso es todo. No tenemos que
preocuparnos por nada más adelante. Entonces, una vez que tenga eso marcado
en Python, salga a Path, solo
podemos seguir proceso de instalación
estándar para Windows Hago clic en Instalar ahora,
luego solo cierro. La otra cosita, si vuelves ahora
a tu terminal, y si repites
esos comandos como Python version y
Python three version, puedes ver que sigue
diciendo Python no encontrado. Simplemente tienes que
cerrarlo y solo reabrirlo, C y D. Y ahora si lo
vuelves a ejecutar, versión
Python, tienes instalado
Python tres Y si ejecutas Python versión
tres, puedes ver Python no encontrado. Y ahora ve mi punto. Siempre hay que
ejecutar ambos comandos porque Windows se comporta de manera
completamente diferente, aunque sea Python
en la versión tres Tienes que ejecutar el comando estándar de
Python en
lugar de Python tres. Pero mientras
sepas qué comando ejecutar en tu sistema operativo, está bien.
Realmente no importa. Todo bien. Así que eso es Python instalado en todos los sistemas
operativos. Y ahora tenemos
instalado Python, pero ¿y qué? ¿Cómo trabajamos con él? Entonces la primera opción es ese shell interactivo del que
estaba hablando. Y tal vez déjame cerrar eso. Voy a terminar esos
servidores también. Ya no los
necesitamos. Solo puedo usar Ubuntu estándar
que tengo localmente aquí. Aquí tengo que ejecutar
lo que Python tres. Versión. Es la
misma versión que tenía en AWS en
el otro servidor. Es diferente ubuntu
pero la misma versión. Entonces, si ahora solo ejecuto Python
tres sin esa versión, solo Python tres,
esto
nos llevará a lo que se llama shell
interactivo. Y el
shell interactivo es un lugar donde puedes escribir instrucciones
para que Python procese. Y la
tarea más popular que sueles hacer a la hora de aprender cualquier lenguaje de
programación, no sólo Python, sino cualquiera, es mostrar palabras hola mundo. Y en Python, podemos hacerlo
mediante el uso de la función de impresión. Entonces es print, y luego función tiene que tener
esos corchetes. Entonces lo que podemos hacer
dentro de esos corchetes, entre comillas,
podemos escribir Hola mundo. Y si hago clic en Enter, Python, vuelve a
mostrar las palabras que
pongo entre esos paréntesis. La función print es simplemente instrucción para Python
para procesar cualquier cosa que incluimos dentro de
esos corchetes y mostrar el resultado nuevamente en
nuestra pantalla como lo hizo aquí. Y en este ejemplo, Python no tenía mucho que hacer realmente, pero esa función de impresión puede ser utilizada para
muchas otras cosas, como podemos usarla como
calculadora, por ejemplo. Si escribo print, y ahora digamos tres
multiplicado por cuatro, no
lo sé, usamos el
asterisco para multiplicar números Entonces si clcanter
ahora me vuelvo 12. Python primero procesó
lo que estaba entre
esos paréntesis y solo luego volvió a
mostrar el resultado en la pantalla. Lo mismo si
quiero dividir algo, déjame solo usar flecha arriba, puedo hacer 2/7 Entonces esta barra diagonal hacia adelante se
usa para la división en Python. Si clcanter, tengo
el resultado de vuelta. Te
habrás dado cuenta de que escribí esos números sin
comillas, aunque. Si bien anteriormente
ese hola mundo, tuve que incluir
eso entre comillas al principio y al final. Así es como Python procesa
diferentes tipos de datos, y aprenderemos sobre esos tipos de datos más
en video dedicado. Pero por ahora, quería
mostrarte que puedes hacer cosas que a primera vista podrían no
tener mucho sentido
porque si corro, por ejemplo, algo
como no sé, imprimo, y luego no sé,
diez veces hola mundo. Podría pensarlo, eso es una tontería. Pero si hago clic en
Enter, Python simplemente mostraba diez veces
cadena hola mundo. Sí, porque esas palabras
aquí entre comillas, se
llaman
cadenas en Python. Alguien podría decir, eso es genial, pero se suponía que teníamos que escribir un programa aquí, si no
recuerdo bien. Sí, eso es correcto. Y eso es lo que
vamos a hacer ahora. Pero ese shell interactivo, es muy útil si
quieres, por ejemplo, probar rápidamente algunas cosas, si quieres comprobar
algunos comandos, pero también te
permite ejecutar múltiples líneas. No tiene que ser una sola línea, sino que es simplemente una herramienta
disponible dentro de Python. Te resultará muy,
muy útil más adelante. Pero por el momento,
salgamos de este
shell interactivo para salir, en realidad
podemos usar otra función y su
función llamada exit. Porque es una función,
siempre tenemos que
seguirla con corchetes, no
tenemos que poner
nada entre esos paréntesis. Simplemente podemos hacer clic en Entrar. La otra forma de salir
del shell interactivo es Control D en Mac o
Linux o en Windows, puede escribir Control Z
y luego hacer clic en Entrar. Entonces, ¿cómo escribo un
programa en Python? Para escribir un programa en Python, solo
necesito crear un
archivo con extensión punto PY. Eso es. Déjenme aclarar eso. Y puedo usar cualquier
editor de texto que quiera. No importa
cuál use. En Windows, incluso puedes
usar nota pero en mi Ubuntu, puedo usar VM, por ejemplo,
o, ¿sabes qué? Solo vamos primero.
¿Qué es el editor de texto? Bien. Solo usemos este editor de texto, ¿y
voy a escribir qué? Imprimir. Tuvimos Hello world. Pero entonces puedo escribir como ¿qué? Imprimir para dividirlo por siete. También puedo imprimir tal vez 20 veces mi primer
programa. Mis espacios. Y ahora puedo salvarla. Marcar. Guardar. Me presenté aquí, así puedo cerrarlo,
pero ¿cómo lo ejecuto? Lo ejecuto usando Command Python tres y
luego la ruta a este archivo. 1 segundo, déjenme solo
controlar ver donde casa. Voy a ir a escritorio. Y este es mi expediente. Este es este archivo, Marc punto py. Ahora estoy en la misma carpeta,
estoy en el escritorio, así que sólo puedo ejecutar Python
tres, Marc punto py. Si hago clic en enter, en realidad
puedo 1 segundo. Si corro cut, Mark Pi, me
va a mostrar los comandos. Yo me voy a mostrar mi
programa básicamente, para que podamos ver que siguió
esas instrucciones. Primero imprimió hola mundo, luego dividió dos por siete, que es esto, y luego
imprimió 20 veces
mi primer programa. Sin espacios, podríamos
agregar espacio aquí al final. Ya sabes, el formato no es
perfecto, pero no importa. Y sé que puede
ser muy sencillo, pero eso es básicamente todo. Ese es tu primer programa
Python.
3. 15 tipos de datos en Python: En este material,
hablaremos sobre los tipos de datos utilizados en Python. Los
tipos de datos más populares son cadena, entero y número de
punto flotante. Entonces comencemos con
la cuerda, tal vez. Python string es una colección de varios caracteres
que puedes encontrar en tu teclado que luego
encerramos en comillas simples
o dobles Y esos caracteres
pueden incluir letras, números y
caracteres especiales como el signo de interrogación. La barra espaciadora también se
considera un carácter y se puede utilizar como
parte de la cadena Python Siempre y cuando todos estén dentro de comillas
simples o dobles, Python lo considerará
como una cadena de tipo de datos Y ahora se puede ver en esta
placa algunos ejemplos de tipo de datos de
cadena y
señalar que
todos están en comillas simples
o dobles. Hablemos
del entero ahora. Entero es simplemente
un número entero. Puede ser un
número positivo como diez. Puede ser un número negativo como -200 y cero también se
considera un número entero Siempre y cuando sea número entero y no esté en comillas simples
o dobles, Python
lo considerará como tipo de datos enteros. Entonces tenemos número de
coma flotante, y
los números de coma flotante son simplemente números
fraccionarios como
2.5 o no sé, 8.44, algo así Y tampoco están
dentro de ninguna cita. Simplemente los escribimos tal como son. Bien, pero juguemos con esos tipos de datos directamente
en Python porque, ya sabes, ver solo la teoría no lo explica lo suficientemente bien. Tenemos que verlo en acción. Entonces este es mi servidor UBT, déjame abrir el terminal Y déjame escribir Python tres. Esto abre nuestro shell
interactivo, y si no tienes Python
instalado en tu máquina, por favor mira el video anterior donde estábamos instalando Python. Tengo mi
shell interactivo y puedo imprimir. Esta es la función
que podemos usar en Python para procesar los datos
dentro de esos paréntesis. Entonces, si solo escribo hola mundo, no
hay mucho que procesar. Simplemente muestra de
nuevo hola mundo. Sin embargo, hay
otra función
que quería mostrarles
y se llama type. En tipo, solo reemplazamos la
impresión por el tipo. Esta es una función
en Python que
nos muestra qué tipo de datos
es para Python. Entonces, si hago clic en Enter,
puedes ver STR, lo que realmente significa
cadena simplemente. Entonces cadena son todos esos
caracteres aquí dentro las comillas y nota que
incluimos el espacio también. Cuando hago clic en la barra espaciadora, todavía se considera
un carácter especial Puede ser parte de la cuerda. Si trato de comprobar
cómo ve Python, por ejemplo, no
sé, lo que sea. Estos algunos números y luego algunos
caracteres especiales también. Si hago clic en Enter,
sigue siendo una cadena. Entonces aunque ponga los números
o caracteres especiales, siempre y cuando estén dentro comillas simples
o dobles, seguirá siendo una cadena. Intentemos ahora algunos números. Escriba quizá diez. Ahora, Python lo
considera como un entero. Solo tenemos INT, pero eso
significa realmente un entero. Ahora bien, si intento lo mismo
con digamos -200, eso sigue siendo un entero Y si intento cero, Python todavía considera que
este tipo de datos por dentro, todavía
lo considera un entero. Vamos a saltar al número de
punto flotante. Si escribo 2.5, ahora tenemos flotador. El nombre completo para
ese tipo de datos en Python es número de punto flotante. Cualquier cosa que tenga
esa notación de puntos es realmente un número de
punto flotante. Porque si escribo 2.0, tenga en cuenta que sigue siendo un número de
coma flotante. Pero si escribo sólo dos, ahora tenemos el entero. Entonces no se trata realmente del
valor que se almacena ahí, se trata de la notación. Si tenemos esa notación de puntos, se convertirá en un flotador. Si no hay punto, se
considera un tipo de datos entero. Pero ahora vamos un
poco más allá. Y si escribo, tal vez
imprima primero para ver la salida cinco
veces hola mundo. ¿Qué va a pasar? ¿Qué
opinas? Vamos a hacer clic en Entrar. Python simplemente mostró una cadena de
esa cadena porque
tenemos esas comillas. Yo mostré esa
cadena cinco veces. Pero, ¿y si ahora comprobamos
qué tipo de datos es? Si usamos la función type, ¿qué crees que obtendremos? Vamos a hacer clic en Enter, y
nos muestra que lo considera una cadena, lo
cual tiene sentido porque es una salida muy larga, incluyendo algunos espacios,
pero tiene sentido, ¿no? Parece una
cuerda. Simplemente ahora es una cuerda mucho más larga. Multiplicó cadena cinco veces, por lo que la salida todavía se
considera una cadena. ¿Y si ahora escribo 5.0? Estoy tratando de multiplicar
cinco veces hola mundo, pero ahora voy a usar número de
punto flotante en
lugar de entero. Vamos a hacer clic en Entrar.
Tenemos error de tipo. Python nos dice, no puedo
multiplicar secuencia. Secuencia, significa
realmente esa cuerda. No puedo multiplicarlo por
algo que no sea entero. No se puede multiplicar
usando esa notación de puntos. Y eso es muy importante de
entender porque hay algunas operaciones
que están permitidas en Python, y hay algunas operaciones
que no están permitidas. Porque consideremos una
situación en la que estoy tratando de hacer, digamos, no sé,
5.77 multiplicado por hola Eso tampoco tendría sentido. Quiero decir, esta notación
realmente tiene sentido, pero Python simplemente rechaza esa operación porque puede ver el número de coma flotante, y solo permite esa operación
completa siempre esta parte sea entera y
no número de coma flotante. Entonces hay algunas
limitaciones que
tenemos que entender
dentro de Python. Alguien podría pensar, Bien, pero por ejemplo,
esto está permitido. Imprimir -200 es entero, ¿no? Entonces debería poder
multiplicarme usando esta operación. Si hago clic en Entrar, bueno, no se muestra nada
porque es un número negativo. Pero si verifico el tipo de esa
salida, Python no monta. Dice, es
cuerda, aunque, ya
sabes, no hay nada ahí,
pero esto se permitirá. Lo mismo con cero. Todavía bien. Veamos algunos ejemplos más. Hagamos imprimir de dos en dos, quizá especias aquí,
más fáciles de leer. Tenemos cuatro. Vamos a imprimir dos, multiplicar por 2.0. Entonces
tenemos entero. Y tenemos número de
coma flotante. Si hago clic en Entrar, ahora
tenemos 4.0. ¿Por qué es eso? Porque resultado de esto, si
multiplicamos un entero
por otro entero, el resultado sigue siendo un entero. Si multiplicamos entero por número de punto
flotante, el resultado será número de punto
flotante, y sabemos cómo comprobarlo. Podemos simplemente usar
esa función de tipo. Entonces, si escribimos dos por dos, podemos ver que es entero. Si hacemos tipo dos por 2.0, podemos ver que el resultado
de esa operación es considerado por Python como
un número de punto flotante. ¿Y si imprimo dos por
esto? ¿Qué opinas? Ahora bien, esto se convirtió en una
cadena porque punto también
es un carácter especial que puede ser parte
de la cadena. ¿Qué hará Python ahora? Haga clic en Entrar. Puedes ver se llama
concatenación de cadenas Simplemente mostró esta
cadena dos veces, 2.02 0.0. No hizo operación
matemática. Simplemente mostró
esta cadena dos veces. ¿Cuál será el tipo de datos como
resultado de esta operación? Como
habrás adivinado, en este ejemplo, realidad
es una cadena
porque esto es quiero decir, esta cadena es similar a esta que tuvimos
con Halo world Aquí hicimos exactamente la
misma operación. Sólo éste tenía un
poco más de sentido. Pero una vez que empecemos a hacer
esto, puede que no quede claro
en el primer lado, pero ya no es un
número. Esto ahora es solo una cuerda. Entonces una secuencia de caracteres. Entonces sí, eso es realmente todo
lo que quería decir hoy. Yo solo sugeriría
jugar con esos
tipos de datos por un tiempo, porque cuanto mejor
entendamos lo que está permitido y lo que
no está permitido en Python, entonces más eficientes
seremos en el futuro a la hora de lidiar con
errores en nuestros programas.
4. 23 variables en Python: Ahora quiero
hablar de variables. ¿Cuáles son esas variables? No son específicos de Python. Están en la mayoría de los lenguajes
de programación. Se puede pensar en variable como
una caja o cubo, digamos, donde puedes guardar algunas cosas, y ¿qué es
esa cosa que puedes guardar ahí? Puede ser un montón de
cosas en realidad. Puede ser un dato básico
como una sola cadena, entero o número de
punto flotante. Pero también pueden ser algunos datos
más complejos como listas o diccionarios o
incluso funciones completas. Todas esas cosas se pueden almacenar en esa variable o en esa caja
o cubeta como la llamamos. Y como si lo hiciéramos con
el cubo o una caja, podemos guardar algunas
cosas, pero más adelante, podemos sacar estas cosas
y meter algunos otros artículos. Veamos exactamente cómo funciona. Este es mi Ubuntu, y solo
voy a abrir terminal, y abrimos shell interactivo
con el comando Python three. Voy a escribir algo así como
X, igual, cadena, Mek. Entonces tengo
comillas dobles, así que es una cadena. Y lo que hice aquí, bueno,
tengo que dar clic en Entrar. Ahora bien, lo que hice, asigné
ese valor, esa cadena, Mk a la variable que llamé
X. Eso es todo lo que tenemos que hacer. Tenemos que escribir el nombre de la variable y luego lo que
queremos poner ahí. Entonces puedo hacer otra variable, tal vez Y, y será
igual a uno, dos, tres. Hagamos
otro más que iguale, digamos, 500 o 500.5. Ahora cuando imprimo valor para X, me
va a mostrar
que esta variable X almacena cadena
de caracteres RK, y sabemos que es cadena porque recordamos
el tipo de función Si escribimos X, Python
recuerda que esto es cadena. Lo mismo si imprimo, Y, tenemos el otro valor. Y entonces también podemos hacer operaciones
matemáticas. Si almacenamos,
por ejemplo, número entero y coma flotante, puedo hacer cosas como
imprimir Y más Z. Eso me da seis a
3.5 porque agregó lo Y y
lo que hay dentro de la variable Z. También podemos multiplicar
enteros por cadenas. Entonces si imprimo, Y multiplicado por X, tendré la cadena Mek
mostrada 123 veces Pero, ¿y si ahora
cambio esos valores? Estas se llaman
variables por una razón. Simplemente puedo poner ahí
lo que quiera. Entonces tal vez déjeme claro
eso y
ahora diré que X es igual a uno, dos, tres, pero está entre comillas. Entonces esto será una cadena, e Y será, de nuevo, tal vez 500.5, pero también
será una cadena Si lo imprimo ahora, X más Y, Python hará
concatenación de cadenas Tomará esos caracteres, uno, dos, tres, los
mostraremos aquí, y luego agregaremos
esos caracteres, cadena de caracteres,
que podemos ver aquí. Y si hacemos tipo X más Y, ahora
podemos ver que esto
ya no es entero o número de
coma flotante. Esto se trata como una cuerda. La otra cosa que
quería decir sobre las variables es que
distinguen entre mayúsculas y minúsculas. Si pongo ABC es igual a Marek. Y ABC minúscula
equivale a uno, dos, tres. Entonces si imprimo ABC, me dará algo
diferente a si
escribo ABC minúscula Bien, vamos a presionar
Control L otra vez. Eso lo aclararemos,
y te voy a contar un secreto que me ayudó
mucho con las variables. Digamos que tenemos
algo así. X equivale a 100. Entonces escribimos X
es igual a X más uno, y tal vez algunos de
ustedes dirán, Mark, eso no tiene ningún sentido, pero de hecho, sí. Si imprimimos X ahora, tenemos 101 porque
realmente no podemos tratar esto como una operación
matemática. Lo que hacemos aquí y lo que me hizo entender lo que está
pasando aquí es leer esas instrucciones
de derecha a izquierda en lugar de de izquierda
a derecha, como normalmente hacemos. Entonces tomamos 100 y luego
asignamos ese 100 a la variable X. Entonces leemos primero
lo que hay a la derecha. Son 100, y luego lo metemos
en nuestra caja en nuestro cubo, y nuestro cubo se llama X. Y entonces lo que hago
en la siguiente línea es operación completamente
separada, pero lo
volveré a leer desde la derecha. Tomo el valor actual de X, agrego uno a ese valor. Entonces tengo 101, y luego
repito la operación. Tomo ese 101 y lo asigno
como nuevo valor a mi bucket. Este es mi nuevo
artículo en mi cubo, y la tercera línea es nuevo, operación completamente
separada. Imprimo el valor más actual que guardo en mi
cubo llamado X, y es uno oh uno
ahí ahora mismo. Entonces, si lo repito de nuevo, ahora, habrías adivinado, yo también tendré 100. Entonces, una vez que empiezas a leerlos de derecha a izquierda, entonces, bueno, al
menos para mí, me
hizo mucho más
fácil entender lo que está
pasando, todo el proceso. Y creo que eso es todo por ahora, asegúrate de entenderlo muy bien antes de que
avancemos aún más. Gracias.
5. Lista y posición de índice en Python 1001: En este material, quiero
discutir otro tipo de
datos más en Python, y se llama lista, ya
hemos aprendido sobre
las variables y cómo pueden contener información como
enteros o cadenas Déjame abrir la terminal. Vamos a abrir shell interactivo. Por ejemplo, si
declaro X es igual a Marek, e Y es igual a uno, dos, tres como un entero, entonces puedo recuperar
esos datos usando print X o print Y. Sin embargo, almacenar
solo un valor por variable puede ser muy ineficiente y desafiante en
ciertos escenarios Agradecidamente, con
listas, podemos almacenar múltiples valores en
una sola variable Puedo escribir algo así. Primero, tal vez Marek. Entonces podríamos agregar ese 123, tal vez no lo sé,
500.5 que teníamos anteriormente Ahora de nuevo, uno, dos, tres, pero como cadena esta
vez porque está dentro de las comillas y tal vez también 500.5, pero también como cadena Lo vamos a encerrar
entre paréntesis entre comillas o de nuevo. Aquí tengo cinco
piezas diferentes de información. Idealmente, me gustaría
mantenerlos todos en una variable en lugar de
crear cinco separados. Claro, con solo cinco valores, no
es tan desafiante. Pero imagínese si quisiera almacenar 100 o incluso 1,000 valores
diferentes, crear variables separadas para cada artículo no es muy
eficiente o muy limpio. Aquí es donde el último tipo de
datos viene muy bien. Lo que puedo hacer ahora, puedo encerrar dentro de los corchetes
todos esos valores que necesito Y luego usa comas
para separarlos. Puedo incluir o mezclar y
emparejar todos los tipos de datos, como pueden ver, porque
tengo aquí una cadena, aquí está el entero. Aquí tenemos el número de
coma flotante, etcétera. Todos pueden estar
en la misma lista, y ahora podemos asignar
todos esos valores a una variable llamada X. Quiero
decir, solo la llamaré X.
Y una vez que presioné Enter, toda esa información se
guarda en mi variable. Entonces si imprimo X ahora, puedo ver mi lista completa. Sin embargo, mostrar toda esa
información a la vez no suele ser necesario o no es lo que realmente
queremos a la hora de
escribir un programa. Por lo general, solo necesitamos datos
específicos de esa lista, tal vez un elemento o
tal vez algunos elementos, pero no toda la lista. Aquí es donde entra en juego
la posición del índice. Una posición de índice es simplemente la posición actual de
cada ítem dentro de nuestra lista. Es importante tener en cuenta que las posiciones del
índice comienzan
desde cero, no de uno. El primer ítem de nuestra lista, cadena MA tendremos una posición de
índice de cero. Entonces el segundo ítem tendrá una posición
de índice de uno y así sucesivamente, que significa que nuestra lista tiene qué? Uno, dos, tres,
cuatro, cinco ítems. Pero las posiciones del índice
comenzarán desde cero y terminarán en cuatro. Esta será la
posición índice número cuatro. La pregunta es, ¿cómo puedo recuperar un solo
elemento de esa lista? Para eso es exactamente para lo que
sirve una posición de índice. Entonces puedo hacer algo
como imprimir X, y luego solo uso
su posición de índice. Digamos que quiero recuperar el primer elemento,
Mek, cadena Mrek Tiene posición de índice de cero, así que agrego exactamente eso. Es la posición
del índice entre corchetes. Si soy presentador, solo tengo el
primer artículo de mi lista. Como puedes adivinar, si utilizo la posición número uno del
índice, en realidad obtendré el segundo
elemento de la lista. Es un poco confuso, pero
puedes acostumbrarte, y mi último ítem en mi lista tendrá la
posición de índice número cuatro. Entonces tengo que usar cuatro. También puedo realizar
algunas, digamos, operaciones
matemáticas como
hicimos con ítems individuales. Puedo hacer algo así. Este es el ítem con
índice de posición número uno, que es 123 entero, y volveré a agregar
el mismo ítem. Deberíamos tener 246, 246. Si agrego, tal vez aquí
cambiemos al último ítem, y este va a
cambiar a primer ítem, tendré Mark
500.5. ¿Por qué es eso? Porque ambas son cuerdas, Mark y esta 500.5. Esto está encerrado entre comillas, por
lo que
Python lo lee como una cadena. Python realizó
concatenación de cadenas, mostró a Marek y luego
agregó esos Simplemente creó
una cadena de caracteres más larga. Pero ahora
lo interesante es que también puedo contar desde el final de mi lista
hacia el principio. Yo solo uso números negativos. Menos uno, posición índice menos uno es el último
ítem de mi lista, debería ser 500.5. segundo ítem del final de
mi lista será éste,
uno , dos, tres,
pero esto es cadena. No es entero como aquí, así que podemos comprobarlo. También podemos
verificar el tipo, que de hecho es string. Más cosa que quería mencionar, también
podemos escoger varios artículos. Por ejemplo, podemos hacer algo así, dos puntos y dos. Lo que hago ahora, quiero
recuperar todos los valores de mi lista que van desde cero
hasta la posición índice dos, pero no va a incluir
esa posición índice dos. Para darle sentido a eso,
permítame hacer clic en Centro. Esta entrada significa subir a la posición de índice dos,
pero no incluirla. Tomará la posición de índice
cero, la mostramos. Tomará la posición de índice uno, la
mostrará, iremos
a la posición de índice dos. Pero esta notación dice no
mostrar índice posición dos. Pero si hago algo así, voy a quitar columna aquí y la
agregaremos después de las dos. Esto significa ir desde la posición
índice número dos hasta
el final de la lista. Si hago clic en Entrar ahora, esta vez, la posición
índice número dos
se incluirá en mi salida. Entonces es cero, uno, dos, y podemos ver que este ítem
está incluido en mi salida. Entonces tenemos uno, dos, tres, y simplemente sube
hasta el final de la lista. Estos son los conceptos básicos de cómo podemos trabajar con
listas en Python. Y te sugiero que
juegues con él también, especialmente con este artículo porque es un poco
confuso, al menos para mí. Y sólo para verificar dos veces, también
podemos hacer tipo
para esa X ahora, lo que nos muestra ese nuevo
tipo de datos o estructura de datos, a veces se llama que
se llama lista. Eso
es. Gracias.
6. Completado el método de diccionario 1002 en Python eng 5: En este material,
aprenderemos a usar algo llamado
diccionario en Python. Este diccionario en
Python nos permite trabajar con algo
llamado valor clave per. Sé que eso no explica
mucho hasta ahora, pero no te preocupes. Te voy a mostrar de qué se
trata con ejemplos porque
probablemente esa es la forma más fácil. Para explicar esto,
pensemos qué
es realmente el
diccionario y cómo podemos usar dicho diccionario
en nuestra vida cotidiana. Tomemos, por ejemplo, un diccionario de inglés
a español. Digamos que queremos
averiguar cuál es el equivalente de la
palabra inglesa hola en español. Entonces abrimos nuestro diccionario a la página donde se encuentra la
palabra inglesa hello, y podemos ver que en
español, es una palabra O. Y así es exactamente como funciona un diccionario
en Python también. Entonces esa palabra hola que estamos
buscando es nuestra clave. Queremos traducir
esa palabra al español. Pero en esta etapa,
aún no sabemos cuál es su equivalente
español. Entonces buscamos la palabra
hola en ese diccionario, y una vez que la
encontremos, descubriremos que
en español, es Ola, y esa palabra
Ola es la segunda parte de
nuestro par de valores clave. Hola es la clave, y el Ola será nuestro valor que
estamos buscando. Este valor representa
el significado, y es simplemente algo
que nos interesa. Este es el valor que
buscábamos en nuestro diccionario. Significa que necesitamos saber
esa primera parte, necesitamos conocer la clave, y ya conocemos la
palabra hola. Simplemente no sabemos cuál es el
equivalente español de eso. Pero como sabemos
lo que es en inglés, al buscar a través de
un diccionario, encontramos su equivalente en español. Así que vamos a crear dicho
diccionario en Python. Y ya que ingresamos palabras en Python entre comillas
porque palabra como hola u Ola será un tipo de datos cadena significa
secuencia de caracteres. Entonces escribimos algo como Hola entre
comillas como cadena, luego columna y luego comillas nuevamente
para otra cadena, y esa otra cadena es Ola. Entonces escribimos la clave, la columna y el valor, y tal vez
queremos agregar más pares de valores
clave. ¿Qué más debemos agregar? A lo mejor añadiremos
la palabra adiós. Lo que tenemos que hacer, lo
separaremos con la coma, y ahora otro per. Adiós, y lo vamos a escribir equivalente
español,
que es Adios. A lo mejor otro,
digamos manzana, pero
volveremos a separarnos con la coma Comma separará
cada valor clave por, y ahora otra entrada será Apple luego dos puntos
y cuál es su valor Y en español, es manzana. Y tal vez una más, no
sé, bicicleta y en español, será Basileta la
que podríamos continuar Podríamos ingresar tantas claves como estas hola y valores de par de
claves O. Podríamos entrar a tantos
de ellos como queramos. Incluso podemos ingresar todas las
palabras posibles en ambos idiomas, creando nuestro propio diccionario completo de
inglés español. Muy bien, pero
¿cómo accedemos a un valor para una clave dada ahora en
este diccionario en Python? En el libro, abrimos a la página donde
está la palabra hola y ya está. Entonces, ¿cómo buscamos
esa palabra en Python? Aquí hay muchas
posibilidades. Veamos algunas de ellas. Primero, sería bueno
guardarlo como una sola variable. Todo nuestro diccionario se
guardará como una sola variable. Recuerda como en el episodio
anterior, guardamos toda la larga
lista como variable X. Aquí podemos hacer lo mismo.
Pero para guardar nuestro diccionario, necesitamos lo que se llama
llaves. Así que guardamos nuestra lista
usando corchetes, y aquí necesitamos guardar el diccionario usando
esos corchetes. Es corchete al final, corchete al principio. Entonces podemos simplemente
guardarlo como X igual y todas esas entradas que queramos mantener
en nuestro diccionario. Simplemente hagamos clic en Enter
y la pregunta, ¿cómo buscamos en
ese diccionario? Primero, intentemos ver qué sucede cuando
solo imprimimos la X. Como podemos ver,
Python mostrará todo
el contenido
del diccionario. Ese es todo el valor clave pas que hemos guardado en
él. Bueno, eso es lindo. Pero si guardamos
20 mil palabras en ella, digamos, eso no va a ser de
mucha ayuda, ¿verdad? Entonces busquemos sólo la palabra que
nos interese. Volvamos a escribir, imprimir X. Y ahora, al igual que en el material
anterior de la lista, donde ingresamos el
número de índice, por ejemplo, imprimir X y indexar la posición uno, aquí, en lugar de
ese número de índice, ingresaremos nuestra clave. Digamos que buscamos Hola. ¿Cuál será el
equivalente español de hola? Así que vamos a pegar aquí
entre comillas todavía Hola. Y ahora cuando presiono Enter, vemos que nos muestra
el valor para clave hola. Esta es la información que nos
interesa de
ese valor clave por. La clave es nuestra palabra inglesa hola y el valor es
su equivalente en español. O. Ahora, digamos que
queremos saber cuál la palabra inglesa apple es
la palabra inglesa apple en español. Nosotros hacemos
exactamente lo mismo. Podemos hacer la manzana flecha
y sabemos que es manzana. Pero mencioné otras formas
de trabajar con diccionarios. La forma alternativa
sería usar algo llamado método y cuál es
ese método de todos modos. En definitiva, puedo decir que
tanto listas como diccionarios, ambos
tendrán
algo llamado métodos que podrían
ayudarnos a realizar ciertas operaciones en estas listas o diccionarios. Para verificar qué métodos
están disponibles para nosotros, podemos ingresar
algo como print. Entonces ayuda y luego
el tipo de datos, que es diccionario, las TIC. Nos mostrará ayuda
con respecto a los diccionarios. Entonces, si presiono Enter,
puedes desplazarte hacia abajo. Se puede ver el método get. Por ejemplo, hay
otro llamado items, keys. También tenemos valores, pero tal vez
volvamos a nuestra tarea. Para que pueda usar un método
escribiendo de nuevo la impresión. A X, luego punto G. Ese es
nuestro método que queremos usar, y luego
entre corchetes la palabra hola. Eso nos mostrará también
el equivalente español. Pero, ¿cómo supe
ponerlo entre paréntesis? A lo mejor, volvamos, perdón. Si vamos a esa
ayuda para obtener método, y estos son los valores
posibles que podemos usar en ese corchete.
Se puede ver la llave. Y si usamos la clave dentro
del corchete, dice, devolvemos el valor para la clave si key está en diccionario, de
lo contrario, default. Básicamente, necesito poner mi llave. ¿Cuál es mi
clave actual? Estoy buscando. Pero alguien podría
mirar y decir, Mark, esto es exactamente lo mismo que
escribimos sin este método. Obtuvimos exactamente
lo mismo cuando imprimimos esto arriba entre corchetes. Es exactamente la misma salida. Y a primera vista, hecho podría
parecerlo, pero el uso de métodos tiene una ventaja significativa en la programación,
especialmente
en lo que respecta a
cómo maneja los errores. Digamos que escribo
algo así como print X, pero hola, tal vez lo escribí mal Me perdí una L en nuestra llave. Ahora en un presentador,
podemos ver que Python arroja
algo como trace back,
mouse, bla, bla, key o hola,
se ve desordenado, ¿ se ve desordenado, Pero ahora hagamos lo
mismo pero usando método. Este es nuestro método. Y nuevamente, digamos que me falta
L y presiono Enter. Ahora simplemente no obtenemos ninguno, que es la notificación de que tal clave no
existe, y eso es todo. Y si es parte de
un programa más largo, este tipo de salida
es mucho más limpio y mucho más predecible que
el desordenado anterior Si miramos hacia atrás a la
ayuda de Python con respecto a este método, buscamos si volvemos a usar
la función help, si nos desplazamos hacia abajo, puedes ver de dónde
viene este non. Si escribimos la clave y la
clave está en el diccionario, obtendremos el
valor de esa clave. Pero si la clave no está
en el diccionario, devolverá esa opción
predeterminada
y por defecto es igual a none. Por eso obtenemos la no
respuesta de Python. Pero partí de la bastante difícil
, para ser sinceros. También tenemos esas
llaves, esos artículos. Tenemos valores y miramos
que en realidad no se
necesita nada entre paréntesis. Lo mismo aquí, llaves o artículos. No hay que poner nada
dentro de esos soportes. Entonces quizá debería haber
empezado con esos. Aquí. Volvamos, presionando Q. Y ahora hagamos la impresión. Nuevamente, punto X, tal vez claves primero, llaves y luego corchetes, pero no se necesita nada
en esos corchetes. iPressenter y Python devuelve todas las claves que hemos
guardado en Entonces puedes adivinar si lo
cambiamos a valores, solo
obtendremos los valores, que es la segunda parte, sí. Estas son básicamente
todas las palabras en inglés que
tenemos en nuestro diccionario, y estas son todas
las palabras en español que
tenemos en diccionario. Déjame claro que
Control L. Vamos a conseguir mi C. Ahora vamos a intercambiar esa
otra función llamada items. Cambiamos nuevamente ese
método a items, más Enter y Python
muestran pares de valores clave, pero cada uno de estos pares está
entre paréntesis separados Esto puede ser muy útil
si forma parte del programa más largo. Como ejercicio, tal vez vamos crear un
diccionario diferente en absoluto. A lo mejor esta es
la
información del auto que
solía tener hace años. Quiero guardar información al
respecto como diccionario. Así que puedo hacer algo
como auto es igual a llaves y luego toda la información
sobre ese auto. Digamos que la marca era Volkswagen. No, coma, ese es
el primer valor clave por marca es la clave Volkswagen es el valor. Ahora la segunda información, el
segundo valor clave. Digamos modelo y el modelo, era Passat Volkswagen Passat Ahora, otro, tal vez, fue fabricado
y era 2002, y tal vez cuántos kilómetros tenía. Tenía 120 mil, si no
recuerdo bien. Como puedes ver, en
el diccionario, puedes almacenar no solo cadenas, sino que también podemos almacenar otros tipos de
datos como enteros. Tenemos aquí dos enteros. El año es 2002, y las millas, el
valor es de 120,000 Pero como
recordarás, enteros, no
usamos
comillas para ellos, ni aquí ni allá Entonces ahora lo guardo,
presionando Enter, y luego les pido que practiquen
con este nuevo diccionario. Si imprimimos auto, eso nos dará toda la
información sobre el Pero ahora intenta usar
esas otras formas para acceder a los pares de valores clave o clave
individual o valor. Entonces tal vez auto consigue modelo, y te dejaré hacer el
resto tal como
lo hicimos en ejemplo anterior con el diccionario inglés
español. Espero que todo quede
más claro cuando completes esta tarea y cuando te acerques tú mismo
a ella. Así que
gracias por ver.
7. 1003 Python para bucle eng 3: Este video, quería
hablar de algo llamado four loop en Python. A lo mejor en lugar de tratar de
explicar lo
que es con palabras, sería mejor simplemente
mirar algunos ejemplos. Volvamos a abrir nuestro Python, el shell interactivo, y vamos a crear una lista con seis elementos. Y puede ser uno, dos, tres, cuatro, cinco, seis. Ahora permítanme crear un
bucle de cuatro para esos artículos. Entonces agregaré cuatro yo
en y ahora nuestra lista, lo que hace, verá breve y lo discutiremos. Pero por ahora, vamos a
escribirlo cuatro yo en esa lista. Al final, agregaremos
dos puntos y presionaremos Enter. Ahora necesitamos algo
llamado sangría. Entonces tienes que presionar cualquiera de las
tabulaciones o tienes que presionar
el espacio varias veces. Voy a presionar Tab, tal vez. Tab creará como
cuatro espacios para mí. Esto se llama sangría. Hay que empezar más. No este espacio libre aquí es
la sangría. Todo bien. Escribimos imprimir I. Ahora presiona Enter y
tendrás que presionar
Enter una vez más. Tienes que presionar Enter dos veces porque si presionas solo una vez, Python pensará que
quieres escribir otra línea
más en lugar de ejecutar el programa. Presionamos Enter dos veces, pero lo que tenemos como
resultado, como podemos ver, cada uno de los elementos que teníamos en esa lista se muestra
ahora como un ítem separado, y cada uno de esos ítems
aparece en una nueva línea a continuación. Pensemos en qué pasó
exactamente aquí, qué hizo exactamente este bucle de cuatro. Creo que es más fácil de
entender si leemos esta
instrucción al revés. Quiero decir, esta es la instrucción, primera instrucción para I en uno, dos, tres, cuatro, cinco, seis, lo que primero comprueba este
bucle cuatro, si este objeto, comprobará
si este objeto es iterable Iterable significa que es cualquier cosa
que es algo que puede devolver solo un elemento en
cada iteración del bucle O en otras palabras, esto comprueba si puede romper todo
este objeto
en trozos más pequeños, dándonos solo una
pieza a la vez, un elemento
con el que podemos trabajar en cada siguiente iteración, nos puede proporcionar el
siguiente elemento de ese objeto Esta situación
ocurre aquí porque esta lista de muchos elementos se
puede desglosar en elementos individuales
y cada uno de nuestros números en esta lista es de hecho
un elemento tan individual. Entonces una vez que
se cumple esta condición, quiero decir, este objeto es algo
con lo que cuatro bucles es capaz de trabajar en primer lugar, entonces ese bucle cuatro
inicia su trabajo. Primero selecciono el primer
elemento de nuestra lista, que es el número uno y lo
asigna a nuestra variable I. Porque lo que tenemos aquí
después de esta sentencia cuatro, es una variable que podemos
nombrar como nos guste Sucede que le nombro la letra única yo solo para no tener
mucho que escribir, pero puedes llamarlo como
quieras. En esta primera
llamada iteración, que significa la primera
repetición de este bucle, simplemente
tenemos I igual a uno, y ahora podemos hacer algo
con esa variable I. Simplemente simplemente la mostramos
usando la declaración print I. Déjame repetir.
No vamos a que esta impresión esté sangrada y
es muy importante Esta sangría sucede
que Python sabrá que esta función de impresión
se considera que está dentro de nuestros cuatro bucles Todo lo que hacemos aquí como
imprimimos esta variable, es la primera iteración, la
primera repetición de nuestro bucle Esta es la tarea
que le damos a Python a su instrucción qué tiene que ver
Python con esta variable
y simplemente la imprimimos. Entonces ese bucle hizo
lo que se suponía que debía hacer, pero luego vuelve y comprueba si hay algún otro
elemento en este objeto. Y si los hay, este
bucle de cuatro nos lo sacará. Y tal elemento existe,
es el número dos. Entonces ahora el bucle asigna el valor a nuestra
variable I y nuevamente, realiza la operación u operaciones porque se pueden
tener múltiples operaciones Sólo tenemos uno. Es
una función de impresión. Simplemente realiza
esa operación por nosotros. Entonces vuelve a imprimir la variable
I, pero esta vez, nuestra variable tiene el valor de dos en lugar de uno,
como lo hacía antes. Yo muestro dos, luego
vuelve atrás y comprueba
una vez más. Si hay otro
elemento más que se puede
sacar y asignar a la
variable que llamamos I, y lo hace seis veces. Después de la sexta vez,
vuelve a verificar el objeto y ve
que ya se han utilizado todos
los elementos de nuestra lista. Entonces en este punto, el bucle
ha completado su tarea. Pero ahora echemos
otro vistazo a nuestro bucle. Nuestra lista completa con esos seis elementos también se
puede guardar como una variable porque
podemos escribir algo así como X es igual entonces uno, dos, tres, cuatro, cinco, seis, presiono Enter. Ahora podemos volver a crear
el bucle. Pero esta vez, notaremos que tendremos dos variables. Podemos tener cuatro I en X, y ahora presiono Enter una vez. Haga clic en cab para crear sangría,
e imprimo esa I. primera variable es
que yo que va a estar agarrando cada
elemento individual de nuestra lista, pero la lista en sí también
es una variable, y es nuestra segunda
variable, a la que llamamos Así que ahora pulsamos Enter, Enter, podemos ver que obtenemos
exactamente el mismo resultado. Pero como mencioné,
dentro de este bucle, también
podemos realizar operaciones en cada una
de estas variables. Es decir, no tiene que
ser una sola operación. Pueden ser múltiples operaciones, pero vamos a crear
tal vez una simple. Entonces escribiré para I en X, Entrar sangría con tabulador, y ahora lo que voy a hacer,
multiplicaré nuestra variable por Entonces es yo multiplicado por I. Presionemos Enter, enter, y ahora podemos ver que
en la primera iteración, cuando nuestro elemento es uno, quiero decir, nuestra variable I tiene valor de uno, obtenemos el resultado para
uno multiplicado por uno Después siguiente iteración, nuestra
variable tendrá valor de dos. Por lo que nuestro resultado mostrado será para dos
multiplicado por dos, y podemos ver que se
repite hasta llegar a seis multiplicado por
seis, que es 36. Y como mencioné también,
podemos nombrar esa variable
como nos guste. Solo fui vago llamándolo yo, pero podemos llamarlo
Marek, por ejemplo Vamos a hacer cuatro Marek en X.
Entrar. Ahora tab para
hacer una sangría Pero ahora voy a imprimir, tengo que usar mi nuevo
nombre de variable, que es Marek Ahora multiplico Marek por Marek. Presiona Enter dos veces, y nuevamente,
tenemos el mismo resultado. Presionemos Control, tal vez,
aclaremos eso. Una cosa más que quería
mencionar es que la lista
no es sólo el tipo de datos con los
que podemos trabajar aquí. Otro tipo de datos que pertenece a esos tipos iterables, por ejemplo, es una cadena Podemos escribir algo así
como cuatro yo en. Hola, columna,
Enter, tab, print I. Ahora podemos ver que
el bucle también puede romper una cadena en caracteres
individuales y presentar cada uno por separado en siguiente iteración en la
siguiente repetición del bucle Pero, creo que en esta etapa, creo que debería
bastar con conocer los cuatro bucles. Entonces te veré en el
siguiente video. Gracias.
8. Se completa el break continue eng 4 en Python: Ahora quería mencionar las llamadas declaraciones break and
continue. ¿Qué son y cómo
nos son útiles? En video anterior,
aprendimos sobre los cuatro bucles y cómo puede iterar a través de los ítems de
la lista. Así que solo recapitular Podemos tener una lista de los ítems uno, dos, tres, cuatro, cinco, seis. Lo guardaré en
variable llamada X, y ahora puedo hacer cuatro
I en X, imprimir I. Pero digamos que quiero encontrar un
número específico en mi lista, y tal vez cuando
encuentre ese número, quiero anunciarlo de alguna manera y romper todas las iteraciones
posteriores O en pocas palabras, desde que encontré
lo que buscaba, mi loop ha completado su tarea. Ahí es exactamente donde es muy útil la
declaración break. Escribamos algo así. Para I en X, crear la primera sangría,
presiono la tabulación uno Voy a escribir algo
como yo igual a cuatro, y sé que aún no hemos
hablado de ello, pero así es básicamente
como se puede comprobar si algo
es cierto o no lo es. Entonces aquí estoy comprobando
si soy igual a cuatro. Pero tenga en cuenta, tengo que
presionar igual a dos veces. Sí. Hablaremos
de ello más adelante. Ahora, presiono Enter de nuevo, y presiono tabulador dos veces. Entonces, a lo que me refiero, mi sangría
tiene que ir aún más lejos. Y ahora digo que tal vez imprima
el número cuatro. Ha sido encontrado. Presiona Enter, coincide con la sangría
anterior, presiono tabulador dos veces, y ahora digo break Presiona Enter, y
ahora voy a crear una sangría
al
mismo nivel que la declaración I anterior Y ahora digo imprimir I. Presionemos Enter dos veces ahora. Ahora como podemos ver, este bucle funciona normalmente para los tres
primeros elementos. Muestra uno, dos y tres. Entonces mi bucle toma el primer
elemento, que es el número uno, asigna ese valor
a mi variable I, y comprueba si yo
es igual a cuatro Pero como tiene el número uno, puede ver que
no es igual a cuatro, ahí que se salte esos elementos más
sangrados y va directo a la línea que
está en el mismo nivel de
sangría, lo
que significa que simplemente
imprime el elemento I. puede ver que
no es igual a cuatro, de
ahí que se salte esos elementos más
sangrados y
va directo a la línea que
está en el mismo nivel de
sangría, lo
que significa que simplemente
imprime el elemento I.
Que es uno. Entonces
vuelve al principio, sacando el siguiente
elemento de la lista, que esta vez es
el número dos, y repite este proceso, comprueba si es igual a cuatro, y si no lo es,
entonces simplemente
ignorará esas líneas más
enredadas Vuelve a pasar por el
bucle, tiene tres y luego
vuelve y vuelve a pasar por el bucle hasta sacar el número
cuatro de la lista. Ahora cuatro se convierte en mi variable I y puede ver que
hace igual a cuatro. Ya que se cumple esta condición, mira
lo que
debe hacer en este caso. Voy a comprobar esta vez
estas líneas más sangradas. Ve que esta vez, tiene
que mostrar algo
diferente en la pantalla. Debe mostrarnos la cadena
número cuatro que se ha encontrado. Y eso es exactamente
lo que podemos ver aquí. Pero en la siguiente línea, puede ver la sentencia break cuando el loop ve este comando, simplemente detiene su funcionamiento. Simplemente sabe que lo que se
tenía que completar ya se completó y
el bucle ya está terminado. Así es como funciona la
declaración break. Pero hay
otra declaración más, y es la declaración continue. Es muy similar a
la sentencia break, excepto que el bucle
no se detiene sino
que continúa hasta completar
todas las iteraciones sobre todos los
elementos de la lista Si cambiamos ese
break para continuar, volvamos a escribirlo para A y X. I X equivale a cuatro,
todo igual. Nosotros decimos imprimir, se ha encontrado el número
cuatro, pero esta vez, voy a crear dos indentaciones y
diré continuar Imprime I y presiona Intro dos veces. Y esta vez, podemos ver que para el número cuatro,
en lugar del número, imprime la cadena número
cuatro se ha encontrado, pero no
interrumpe su funcionamiento. El bucle de cuatro sigue adelante. Verifica todos los elementos de la lista hasta que haya
pasado por todos ellos. Y a veces es útil
si, por ejemplo, tienes múltiples elementos en tu lista con exactamente
el mismo valor, y tal vez quieras saber
cuántos los tienes en esa lista. Cada vez que el bucle
se encuentre con cuatro, cada vez mostrará esa cadena en lugar
del número cuatro. Quiero decir, si cambiamos nuestra lista a algo así como X equivale a uno, dos, tres, cuatro, cinco, cuatro, dos, cuatro, volvamos a
ejecutar nuestro bucle. Podemos ver ahora que encontró todos los elementos que
tienen valor de cuatro. Y sé que eso es para
una breve explicación, pero en esta etapa, será todo
lo que
necesitamos saber
respecto a las declaraciones de descanso y
continuar. Así que gracias por ver.
9. 1005 Python mientras que loop eng 2 está completo: Materiales anteriores,
vimos cómo funcionan los cuatro bucles. Vimos que cuatro bucles nos
permite extraer cada elemento individual de un
objeto más complejo como una lista, y nos permite realizar alguna operación en cada uno
de estos elementos. Por ejemplo, si tengo
diez elementos en una lista, entonces el loop se ejecutará
diez veces y ya está. Sin embargo, hay raras
situaciones en las que
no tenemos un número estrictamente
definido de elementos y necesitamos
un bucle que
siga funcionando hasta que se cumpla una
determinada condición. Tratar de explicar esto con palabras generalmente no tiene mucho sentido. Hagámoslo a través de ejemplos. Vamos a crear
algo como esto. Déjame presionar Control L, y diré que X es igual a uno. Nuestra variable X es
un entero simple. Pero ahora digo, mientras que
X es menor que diez, Enter y crear sangría
con tabulador, imprimir X.
Ahora otra línea, sangría,
X es igual a X más uno, X es igual a X más uno, y voy a hacer clic en Y ya podemos adivinar
qué hace ese bucle. Entonces inicialmente, tenemos nuestra variable asignada
un valor de uno, y luego tenemos nuestro
bucle, nuestro bucle while. Decimos que mientras X
sea menor que diez o tal vez tan largo como
X sea menor que diez, ejecute todas las
instrucciones a continuación, y el bucle ejecuta
nuestra instrucción, que aquí simplemente muestra el valor
actual de nuestra variable Sin embargo, esa última línea
podría ser un poco confusa. Alguien podría
mirar eso y decir, ¿qué se supone que significa? ¿Cómo X puede ser igual a X más uno? En primer lugar, no
pensemos en ello como tarea matemática. Recuerda que X es nuestra variable, y en el caso de las variables, tiene más sentido leer
esto de derecha a izquierda. Pero nuestra variable comienza
aquí en la primera línea y tenemos el valor de
uno asignado a ella. Pero luego tomamos ese valor
actual de la variable X, que es uno, y le agregamos
algún otro valor. Y aquí sólo estamos
sumando otro. Entonces tenemos dos juntos. Ahora este nuevo valor,
este entero dos, ahora
se le asigna de nuevo a la
variable X. X ahora es dos. Nuestra variable X ahora
tiene un nuevo valor que es dos y el
bucle L comienza de nuevo. Y comprueba si
ese nuevo valor de la variable X es
menor de diez o no. Bueno, son dos,
entonces son menos de diez, así que no se cumple la condición. Entonces el bucle se repite de nuevo. El nuevo valor de la variable X se pasa a la función print, Python muestra dos esta vez, y así va hasta el
valor nueve, como podemos ver. En esta última vuelta,
llamémoslo así. El bucle vuelve a verificar si
nueve es menor que diez, y es menor que diez, se cumple
la condición, por lo que el bucle se repite
nuevamente una vez más. Pero esta vez
toma este nueve, luego le agregamos uno de nuevo. Y guardamos este resultado como el nuevo valor para
nuestra variable X, que ahora es diez. Ahora cuando el bucle L comprueba
esta nueva condición, ve
que esta
vez
no se cumple la condición porque diez no
es menor que diez, pero es igual a diez. Eso significa que su trabajo ya
está terminado. El lo ha ejecutado acciones sobre todos los elementos que cumplieron con
la condición inicial, pero se abandona en
cuanto no se cumple la condición. También vale la pena señalar
que la primera X es igual a uno no tiene ninguna influencia
en nuestro bucle, más adelante, porque esto es solo el valor inicial
de nuestra variable. Pero más tarde durante la
ejecución del bucle mismo, el bucle se repite dentro de sí mismo. No vuelve
a la primera línea. El bucle comienza en la segunda línea. Lo que grabamos anteriormente como el valor inicial solo
se lee durante la primera repetición de la pero en cada iteración
posterior, la última línea establece un nuevo
valor para nuestra variable X, pero la primera
ya no se considera en absoluto Pero eso bien, muchas veces vemos esa última línea escrita en
Python de otra manera. Escribamos algo como esto. A lo mejor X, esta vez será, no
sé, 100. Ahora decimos que le X
es menor que 110, imprimir X y luego X más
es igual a uno más dos veces. Si miramos esta
notación en la última línea, aún menos sentido, pero esto es simplemente una forma abreviada de exactamente
lo que escribimos antes, que es X es igual a X más uno, y vemos si la ejecutamos ahora, básicamente la lógica
es exactamente la misma. Por el momento,
eso es todo lo necesitamos saber sobre el bucle i, así que gracias por verlo.
10. 1006 True Bolean Eng5 en Python: Python, así como en otros lenguajes de
programación, tenemos algo
llamado booleano,
y este booleano ,
además de su nombre gracioso,
puede tener dos valores, y se llaman así valores verdaderos Y como siempre, echemos
un mejor vistazo a ejemplos de lo que estoy
hablando y cómo este booleano, ser verdadero o falso puede
ayudarnos en la programación Python Esta vez, ¿sabes
qué? En lugar de hacerlo en shell interactivo, tal vez
salgamos de
él y salgamos de la función. Claro. Y lo escribiremos
y guardaremos como archivo ahora. Crearemos un
archivo o usaremos VIM, tal vez Marek punto pi Ese será nuestro programa. Y podemos escribir algo
como X es igual a uno. Y ahora mientras X
es menor que diez, columna entra, y puedes ver que VIM crea la
sangría No tenemos que presionar tabulador aquí, y ya sé, algunos de ustedes podrían pensar, Mark, ¿alguna vez has oído hablar de
esa cosa llamada IDE? Sí, sí, me enteré de ello, y no te preocupes, ya
hablaremos de ello, pero hablaremos de
ello mucho más tarde. Por ahora VM está bien. Entonces tenemos eso,
y ahora imprimimos X. Y nuevamente, hacemos X
es igual a X más uno. O en video anterior,
nosotros ya así podríamos escribirlo
también como X
más equivale a uno. Básicamente es lo mismo. Déjame guardarlo para guardarlo
en VM iPresescape, columna WQ, y ahora
puedo ejecutar Lo ejecuto escribiendo Python
tres, mac dot py. Ahora tenemos algo
que hemos visto antes y el resultado
que esperábamos. Pero, ¿y si cambio
ese valor inicial de nuestra variable a diez o más?
Volvamos a abrir el archivo. Entonces lo que estoy diciendo,
la primera línea, vamos a cambiarla a 20. Yo digo que X es igual a 20, y entonces la primera
iteración
será mientras que X es menor que diez, pero X es 20 y 20
no es menor que diez Son más de diez. Pero
veamos qué pasa. Presiono Escape, Colm WQ
para salvar ese nuevo programa. También puedo cortarlo. Podemos ver
nuestro programa. Vamos a ejecutarlo. Presiono Enter y
ejecutamos nuestro programa, pero no se muestra nada. ¿Por qué? Eso es porque en
esa primera línea, establecemos nuestra variable
para mantener el valor de 20, y luego el bucle comprueba en la primera iteración si se cumple
esta condición, si X es menor que diez Yo 20 es menos de
diez, no, no lo es. Ya que 20 no es inferior a diez, no se cumple
la condición. Eso significa que el bucle obtiene
este valor alcio de false. Entonces no ejecuta
ni una sola repetición, ni
siquiera una iteración. Simplemente ya en esa
primera línea de bucle Wil, este bucle se abandona. Sin embargo, hay
situaciones en las
que queremos que el bucle ejecute al
menos una repetición. Y para ello, necesitamos
cambiar ligeramente nuestro programa. Así que vamos a reescribir la
primera línea primera línea del Willoop quiero decir Y ahora digo Mientras pasa, y dejo esa huella X.
Voy a hacer más comprobaciones a continuación. Bien, entonces lo que estoy
diciendo aquí es que ahora forcé el loop a realizar al
menos una repetición
porque la dijimos, no
tienes nada que revisar aquí. Ya se cumple la condición. Te digo mientras sea verdad. Entonces no hay nada que verificar. Te digo que ya se cumple la
condición. No importa lo que sea. Y la primera iteración
debe ser ejecutada. Por lo tanto, el loop,
ya sea que lo quiera o ejecute todo
lo que hay debajo, y llega a la primera línea donde tenemos nuestra condición, pero lo cambié ligeramente Se comprueba ahora si X es
mayor o igual a diez, y en este caso, es
20 es mayor que diez. Entonces el bucle ejecutará lo que sea que esté en líneas aún
más sangradas Se va a imprimir ese número
es demasiado grande y a continuación, podemos ver la declaración break que vimos en los videos
anteriores. Entonces sabemos que este bucle
simplemente será abandonado
en esta etapa. Pero quizá veamos cómo
funciona. Yo lo ejecutaré. Forzamos esa primera iteración. Podemos ver que se imprimió, el 20 se imprimió porque forzamos
esa primera iteración. Pero ahora cambiemos
ese valor inicial de X a algo más pequeño. A lo mejor dejemos claro
eso. Vamos a VM Marek Ahora digamos que X es
igual a tal vez a uno. Lo que debería hacer ahora, todavía tiene esa primera iteración forzada, pero debido a que esta condición no se
cumplirá inicialmente, omitirán
estas dos líneas Estas dos líneas sólo se consideran si se cumple la
condición anterior. Pero uno, por ejemplo, uno, uno no es mayor ni igual a t. Voy a repetir el proceso de X de aumentar el valor de la variable X hasta que
llegue a eso. Bueno, a lo mejor vamos a
ejecutarlo, debería ser más fácil. Python tres, Mark Pi. Lo importante aquí si
forzamos este lingote
para el loop Wile, tenemos que romper el
programa en otro lugar
porque de lo contrario va a porque de lo contrario va correr para siempre y lo
rompemos Entonces, aunque forcemos
la primera iteración, no
tenemos que
preocuparnos mucho por ello porque la
rompemos en otro lugar Pero, ¿qué pasa si
no tuviera esa declaración
break aquí? Echemos un vistazo.
Si lo quito, ahora básicamente no
tenemos nada que detenga este bucle de Wil. Así que vamos a guardarlo. Vamos a ejecutarlo. Y ahora vemos que el
número es demasiado grande, pero en realidad no
importa porque no
hay una sola línea que
obligue a que este bucle wile se detenga No hay declaración break. Vamos a Control C, tal vez. Entonces tengo que detenerlo así usando Control C. Se
puede ver
que ya
contaba a más de 3 millones. Entonces
eso es básicamente todo. Eso es lo que son los lingotes
true y false, y así es como puedo usar este lingote para forzar la
iteración para el Espero que eso
tenga sentido. Como siempre, recomiendo no solo
ver este material, sino también experimentar por
tu cuenta para entender completamente cómo
funciona. Gracias por ver.
11. Cadena f en Python 1007: En este video, quería
hablar de algo que se llama cadena F. Como siempre, no voy
a tratar de explicarlo con palabras. Pasemos directamente a
los ejemplos para ver qué es y por
qué existe en Python. Digamos que tengo una variable. Vamos a llamarlo X, y el
valor será string mac. Lo que puedo hacer ahora,
puedo correr print. Puedo decir hola, a lo mejor voy a
agregar spice y luego más X. Y si lo ejecuto ahora,
podemos ver que Python suma esas dos
cadenas juntas. Entonces la primera cadena es alta, y sabemos que es cadena
porque la tenemos entre comillas y Python sabe que
este es el tipo de datos de cadena, y la segunda cadena es Mek Pero esa segunda
cadena Mrek se lee a partir del valor actual
de la variable X,
sin embargo, lo que significa que
Python mira esa X y dice, Uh, eh La segunda parte no
está entre comillas, por lo que debe ser alguna
variable entonces. Debo encontrar esa variable y verificar lo que actualmente se registra en esa
variable llamada X, una vez que Python la encuentra, sólo entonces
muestra el resultado. Vale la pena señalar que cuando
encuentra la variable X, comprueba también su tipo de datos. Como Mac está entre comillas, sabe
que es un tipo de datos de
cadena
y, en última instancia, Python
muestra esa marca alta. Toda esta operación, cuando
agregamos una cadena a otra, se llama concatenación de cadenas, y ya hemos hecho tales
operaciones antes, así que no es nada nuevo para Pero hagamos algo
diferente ahora. Vamos a escribir la altura es igual a 178, está en centímetros y el peso equivale a 93.5, y
es en kilogramos Pero eso realmente no importa. Y lo que voy a tratar de hacer ahora, voy a tratar de usar ese método de
concatenación Entonces imprimo Así que tienes impresión, tu altura está entre comillas, como es cadena, voy
a tratar de agregar esa variable de altura, y luego agrego otra
cadena y tu peso es, e intentaré agregar
esa variable de peso. Vamos a hacer clic en Entrar.
Como podemos ver, Python se queja, e incluso nos dice exactamente
lo que no le gusta Dice,
Sólo se puede concatenar cadena a cadena,
no a entero Esto tiene sentido porque incluso toda esta operación se llama concatenación de cadenas, lo que significa agregar
algunas cadenas juntas Aquí, ¿cuál es el primer
valor que tratamos de aportar? ¿Cuál es la primera
variable? Quiero decir? Bueno, es un entero. Es el número entero 178. En el segundo caso,
tenemos número de coma flotante. Te puedo decir de inmediato
que también se
quejaría de ello porque es número de punto
flotante
y no una cadena, sino porque Python encontró
ese entero primero, el error solo
menciona ese entero. Simplemente no podemos sumar esos
dos tipos de datos juntos. Teóricamente, podemos arreglar
esto de varias maneras. Por ejemplo, podemos
escribir nuestros valores como cadenas simplemente agregando
comillas a su alrededor. Mi estatura porque esto y
mi peso se convierte en esto. Y si intento ejecutarlo de
nuevo, ahora funciona bien. Ya que tu estatura es 178
y tu peso es de 93.5. Eso es porque cambiamos el tipo de
datos por altura y peso. Pero la cosa es,
¿y si queremos
mantener nuestras variables como tipos de datos
anteriores? Quiero tener ese número entero
y de coma flotante. No quiero
mantenerlos como cuerdas. Entonces déjame convertirlos de nuevo. Y la otra opción que tenemos, podemos usar la función STR, que puede cambiar el
tipo de datos de la variable actual a una cadena independientemente del tipo de
datos que sea actualmente. Así que tengo mis variables de
vuelta a lo que eran enteros y punto flotante, y ahora mi impresión se verá
un poco diferente. Voy a cambiar esta altura a
cadena usando la función STR. Y porque es función,
usamos esos corchetes, y luego voy a
peso y convierto peso también a cadena usando STR. Función. Vamos a ejecutarlo ahora. Como podemos ver ahora
vuelve a funcionar, a pesar de que las
variables se mantienen como número entero y
coma flotante. Solo los cambiamos una vez
para esa función de impresión, pero no
cambia el tipo
de datos de la propia variable. Se podría decir, Oye, funciona. Sí. Sí, sí funciona, pero es un
proceso un poco tedioso, ¿no? Tenemos que buscar
todas esas variables, verificar cuáles
no son cadenas y usar algunas funciones
para convertirlas en cadenas si no lo son. Esto realmente no es
tan limpio, ¿verdad? Entonces hay otra función, lo siento, es una característica de
conveniencia, yo diría que se agregó, y se llama cadena F. Y creo que la cadena
F viene de la cadena de formato porque la sintaxis es similar a ese método de cadena de formato
en las versiones de Python. Entonces, ¿cómo creamos
esa cadena F? Nosotros simplemente voy a
utilizar flecha arriba otra vez. Entonces esta es nuestra última función
de impresión. Y ahora, solo lo
moveré al principio
y agrego poco F. Y ahora no tengo que cambiar ningún
tipo de datos con función. Python lo hará por nosotros
automáticamente si solo encierro esas variables en los
llamados corchetes Esta es mi primera variable que
quiero convertir. Yo uso corchetes aquí y el segundo
es el peso. Y ahora tampoco necesito
estas comillas. Porque Python convertirá
esos valores en cadena primero, por lo que será una
cadena de caracteres muy larga. Tengo que añadir comillas al final porque de lo contrario, todo eso es simplemente
una cadena larga. Ahora bien, si yo presentador, entonces se puede ver que
hice algo muy estúpido porque también puedo deshacerme
de ese plus. Eso es mejor. Pero ahora mira esta sintaxis
y mira esa sintaxis. Creo que esta se
ve mucho mejor. De hecho, encontrarás cadenas
F con mucha
frecuencia porque también este proceso llamado concatenación de
cadenas se usa muy a menudo, diría
yo en Python Eso es todo lo que quería
decir sobre las cuerdas F. Es esencialmente
solo una conveniencia, pero es muy
importante y es una característica de uso común en
Python. Gracias por ver.
12. Función de entrada en Python 1008: Ahora hablemos de la entrada
del usuario
o de la
función de entrada. ¿Qué es? La entrada del usuario es una función
que permite al usuario de nuestro programa Python
ingresar algunos datos. Echemos un vistazo a cómo
usamos esta función. Esto es lo que hicimos
en la lección anterior respecto a la cuerda F.
Pero voy a copiar eso. Eso podría ser útil,
permítanme simplemente salir. A lo mejor escribiremos un
pequeño programa esta vez. Un poco de VIM, y lo
llamaremos Mac dot pie. Ah, bien, ya tengo el programa
Marc dot py. No importa. Podemos reutilizarla. Simplemente borramos todo aquí. Voy a pegar esa línea y
voy a añadir esa altura. Eso fue en centímetros y el peso que
estaba en kilogramos. Este es nuestro programa, así que voy a escapar de la columna WQ.
Yo lo guardaré. Y si lo ejecuto ahora, tenemos
exactamente lo que teníamos antes. Python mostró lo que ya
habíamos visto
en video anterior. Pero, ¿y si nuestro usuario quiere ingresar ellos mismos sus
datos individuales? Porque cada usuario tendrá diferente estatura y
diferente peso. No quiero tener esas entradas
estáticas en el programa. Queremos que un usuario pueda
escribir los valores
para las variables. Además, necesitamos tener alguna forma
accesible de ingresar esas variables al
ejecutar el programa porque nuestros usuarios probablemente
no conocen Python. Para nosotros, no es problema. Puedo abrir el archivo,
cambiar la variable. Eso es porque conocemos Python, pero nuestro usuario probablemente no. La función de entrada se
utiliza exactamente para eso. Editemos de nuevo nuestro programa. Entonces iremos a Mark Pi
y lo que quiero hacer. Es utilizar la función de entrada. Porque es función,
usamos esos corchetes, y de hecho, no tengo poner nada entre
esos paréntesis, pero eso es una mala idea
porque lo que
puedo hacer, puedo poner algunas pistas para el
usuario sobre qué ingresar. Y para la variable de altura, el usuario deberá ingresar la altura es y preferiblemente
en centímetros. Entonces puedo decir como una cadena de citas, puedo decir aquí, ¿cuál es
tu altura en centímetros? Y para el peso, también utilizo función de
entrada en cotizaciones otra vez, y puedo preguntar usuario, ¿cuál es tu peso
en kilogramos? Y una vez que el usuario escribe eso en, esa entrada
del usuario se guardará entonces como nuestra variable para la
altura y para el peso. Entonces ahora vamos a
guardarlo con c colon WQ, y vuelven a ejecutar el programa. Y podemos ver que el
programa encuentra esa primera función de entrada de usuario. Entonces el programa se detiene y espera hasta que se reciban esos
datos de entrada Entonces mi estatura es, vamos a
cambiarlo tal vez 150, digo, solo para poner
algo diferente. Ahora me pide
peso, tal vez 88. Si presiono Enter, ahora nuestro programa tiene todas las
variables que necesita, por lo que muestra tu altura es de
150 y tu peso es de 88. Si vuelvo a ejecutar el programa, tal vez otro usuario
lo ejecute y tengan diferente
altura y peso, tal vez 201 cien, el
resultado se mostrará para estas nuevas variables o para los valores guardados en
esas nuevas variables. Como siempre, recomiendo
no sólo ver esto, sino empezar a jugar
con esas funciones simplemente para recordarlas y entenderlas mejor.
Gracias por ver.
13. 1009 funciones en Python: En este material, quería
hablar de funciones en Python. De hecho, ya nos hemos
encontrado con varias funciones. Probablemente la función más
popular que
usamos casi todas las veces
fue la función de impresión. Podemos hacer algo
como print hello world, y esto se llama función
incorporada, lo que
significa que la función print está
disponible inmediatamente en Python, y podemos acceder a ella justo después de instalar
el propio Python. Hay muchas funciones
incorporadas. Por ejemplo, el
otro es largo, y simplemente escribimos LN N y nos muestra la
longitud de un objeto dado. Por ejemplo, puedo
hacer tal vez una lista. 56789. Presiono Enter, y obtenemos la
longitud de esa lista que se pasó a
la función LN. También podemos verificar la
longitud de la cadena. No es problema si
escribo longitud hola mundo. Nos va a dar 11 porque
ese espacio también está incluido. Es un carácter especial
que forma parte de esta cadena. Una función más que quería
mencionar es la función de ayuda. Muestra
información muy útil para nosotros. Se llama ayuda,
así que no es de sorprender. Por ejemplo, help n. nos
mostrará más información
sobre esa función de longitud. Presionemos Enter,
y podemos ver que la función length es de
hecho una función incorporada, lo que
significa que está
disponible de inmediato en Python. Se instala
junto con Python. Presione Q, y podemos hacer, bueno, tal vez lo mismo para la función de
impresión. También podemos ver que la impresión
está construida en función. La ayuda también nos mostrará lo que podemos poner dentro de
esos paréntesis. Q otra vez para salir. Eso está bien, pero ¿y si queremos crear nuestra propia función? De hecho, es bastante fácil, déjame mostrarte cómo hacerlo. Tal vez salgamos de eso y claro. Teníamos un pequeño programa
en video anterior. Fue ese
respecto a la entrada del usuario. Entonces tal vez cambiemos este. A lo mejor cambiemos este programa. Diré VIM Mark D pi, y ahora tal vez quiero esta impresión, que está aquí, a
lo mejor quiero que sea en
forma de función Para que podamos hacer
algo así. Puedo definir mi función. Entonces escribo DEF para
definir mi función. Entonces elijo un nombre
para mi función, lo que sea que
realmente no importa. Lo llamaré tal vez F uno porque soy perezoso y no
quiero escribir demasiado. Y después de eso,
escribimos paréntesis. Eso es porque cada función tendrá que tener
esos paréntesis, y de hecho, dentro de ellos, también
puedo agregar algunos parámetros Podemos ver aquí dentro de
esa función de entrada, podemos agregar esa cadena. Podemos dar la información
extra para nuestro usuario en
forma de cadena. Así es como se define lo que realmente
se puede incluir
dentro de esos paréntesis Pero por el momento, tal vez solo los
deje vacíos. No tendremos parámetros. Y ahora después de eso, solo
necesito col. Si presiono Enter,
puedes ver que una VM agrega esa sangría automáticamente
porque lo que quiera tener en mi
función tiene que ser Quieren que esa función
de impresión sea parte de mi función. Bueno, de hecho, esa será toda
mi función por ahora. Entonces eso es todo. Créeme o no, pero esta es nuestra función. Vamos a guardar este programa ahora. Presiono Escape, llame a WQ. Y vamos a ejecutar este programa. Yo digo, Bin tres Mark Pi. Me pregunta mi estatura
17 noche, 93.5. Podemos ver que
parece que no hace nada, y eso es porque
tenemos la función definida, pero no hemos corrido. Vuelvo a mi
programa Mark Dupi, así es como definimos la función, pero nunca dijimos que la ejecutara Lo que puedo hacer, sólo puedo escribir nueva línea aquí diciendo F uno. Así es como ejecuto mi función, o a veces se puede
decir que llamo a mi función. Quiero que mi programa ejecute la función que
acabo de definir. Vamos a guardarlo. Y
volvamos a ejecutarlo. Tengo que escribir de nuevo
las variables 17,893.5. Y ahora la función no sólo
estaba definida, sino que también se ejecutaba
para mí. Bien. Pero como ya tenemos la altura y el peso del
usuario, permítanme volver a abrir el archivo. Una vez que obtuvimos esos
datos del usuario, podemos calcular su IMC Y el IMC, el índice de
masa corporal, quiero decir, simplemente nos dice
si nuestra masa corporal en relación con nuestra altura
es apropiada o no O en otras palabras, si
tenemos sobrepeso,
bajo peso, o tal vez
todo está bien. Entonces primero tal vez Google
cómo calcular el IMC. Entonces podemos ver que tenemos
que dividir el peso en kilogramos por la altura
en metros al cuadrado Entonces, por ejemplo, un peso de 73 kilogramos y una
altura de 1.7 metros. Nuestro usuario nos da la altura en centímetros,
recuerda, aunque. Pero entonces no son
sólo los metros, tiene
que ser metros cuadrados A lo mejor en algún lugar se muestra
mejor manera como aquí. Podemos ver que es peso en kilogramos dividido por
altura en metros, y luego sea lo que
sea, tendremos que
multiplicarlo por sí mismo
porque está al cuadrado, o tal vez esto sea aún mejor Así es como se ve.
Bien, hagámoslo entonces. Y tenemos nuestra
función F one, está bien. Podemos dejarlo. Vamos a definir la siguiente función, que deberíamos llamar
probablemente IMC, supongo Y luego entra la columna, y podemos empezar a definir
lo que debe hacer. También hay una
cosa más de la que no hablé. Es respecto a esa función
de entrada. El caso es que la función de entrada, sea lo que sea que
pongamos aquí, se guardará como una cadena. Por lo que la altura actualmente tendrá valor de nuestra altura
en centímetros, pero se mantendrá
como una cadena de tipo de datos. Entonces también tenemos
que formatear
ambos a
enteros o flotadores Entonces tal vez voy a definir nueva altura variable
en metros de flotación. Oh, eso se ve terrible,
pero no importa. Lo que tengo que hacer tengo que
tomar mi
valor actual para la altura. Entonces tomo la altura variable que ya tenemos y almaceno. Ejecuto una función llamada float. Esto transformará lo que esté actualmente ahí en
esa altura variable, lo transformará en
un número de punto flotante. De hecho, de la misma manera puedo usar STR, recuerda, la cadena, pero ya es string, y también podría usar INT para crear un
entero a partir de eso. Pero sigamos a flotar
porque a lo mejor alguien quiere ser súper preciso y tal vez introducir algo
como no sé, 178.4 por alguna razón Quiero agarrar todos esos datos,
pero tengo que almacenarlos como número de punto
flotante entonces. Pero entonces una
cosa más, recuerden, no
nos
interesan los centímetros. El valor que tenemos que
aportar es en metros. Entonces déjenme dividirlo también por 100. Si alguien me da 17 8
centímetros como valor, voy a crear 1.78 metros Eso es exactamente lo que
necesitamos para nuestro cálculo. Bien, creo que
ya está. Ahora el peso. De hecho, el peso
no tiene que ser
solo tenemos que cambiar el
tipo de datos, y podemos cambiarlo. Bueno, llamémoslo de
otra manera antes que nada, float es igual a flotar. Bueno, tenemos que tomar el peso variable actual
y simplemente cambiarlo a flotar. Utilizaremos, nuevamente,
la función float. Entonces tenemos dos nuevas variables. Es altura y está en metros
porque lo dividimos por 100 y es número de
punto flotante porque usamos la función float. Pero para el peso, solo
cambiamos el valor para flotar. W. Bien. En la siguiente línea, solo
calcularemos ese IMC IMC es igual,
tenemos que tomar eso. Tenemos que tomar nuestro peso, pero como número de punto flotante. Y ahora tenemos que
dividirlo por nuestra altura en metros. Esa es nuestra variable para eso, pero no sólo eso,
tiene que ser cuadrada Recuerden, tenemos que multiplicarlo por sí mismo y tendremos que
añadir esos corchetes en ese caso. Significa que agarramos nuestro
peso y
lo dividimos por altura en metros cuadrados Pero ahora,
sería útil
imprimir también el valor como
salida para nuestro usuario. Entonces
volveremos a agregar esa función
print y podremos usar
la cadena F que ya
conocemos y decimos tu IMC está entre corchetes
IMC Sólo queremos mostrar el
valor de esta variable. Bien. Y por último pero no menos importante, no sólo tenemos que
definir nuestra función, también
tenemos que llamarla. Tenemos que ejecutar esa función. Entonces decimos IMC y
solo los corchetes. También podemos dejar el F uno. Ejecutaremos F una función, y luego ejecutaremos
la función IMC Vamos a guardarlo, escapa columna WQ. Y ejecutamos nuestro programa la
altura uno ****, peso es de 93.5 kilogramos
y el programa dice, Tu IMC es En realidad hay una
cosa más que quiero mencionar. Volvamos a nuestro programa, tal vez hasta dos cosas. En primer lugar, la función, la
creamos una vez, pero podemos llamarla varias
veces en nuestro programa. lo que me refiero, si
corro ahora IMC eso, IMC, eso, puedo llamarlo varias veces.
Volvamos a ejecutarlo. 17,993.5, se puede ver que la función se ejecuta
tres veces esta vez A lo mejor vamos a aclararlo e
ir de nuevo a nuestro programa. La otra cosa que quería decir es que la función tiene que
definirse primero antes de que la
llames, antes de ejecutarla. Déjame mostrarte a lo que me refiero. Tal vez quitemos esas
dos líneas y a
lo mejor quiero ejecutar una función,
BMI aquí ya Veamos ahora qué pasa. 17,893.5. Python dice
nombre IMC no está definido, cual no es realmente cierto
porque está definido, pero el problema
es Python es
lenguaje interpretado, se llama, lo
que significa que tomará cada línea y la ejecutará como
es una por una Comprueba el peso,
comprueba la altura. Luego comprueba la
función y puede ver, pero esa función en esta
etapa aún no está definida, dice, perdón, la
función no está definida. Mientras que si
iría más lejos, se sentaría ahí, pero porque se interpreta,
no hace eso. Eso es muy importante definir primero
todas tus funciones
y sólo después ejecutarlas. Es un video un poco más largo, pero espero que sea útil.
Gracias por ver.
14. 1010 Python if else 2: En este material, quiero
hablar de algo que se llama IF y conjuntos, declaraciones
condicionales, se
llaman. Estas declaraciones condicionales se
utilizan para verificar si
se cumple una determinada condición en un programa o no. Quizás pasemos a algunos
ejemplos de inmediato porque son la forma más fácil de
explicar de qué se trata. Voy a crear un programa, llamémoslo iLPI voy a decir X. Igual a entrada, la entrada del usuario Ya sabemos
lo que es, y decimos entrar el valor de la variable X. Recordamos por
el material sobre
la función de entrada que cuando el usuario ingrese algo aquí, se guardará como una cadena. Entonces necesitamos convertirlo a
un entero o a un float, y lo cambiaré a número de punto
flotante. Entonces voy a usar
la función float. Bien. Y ahora digo si X es
menos de cinco columnas, entonces imprimir X es menos de cinco. Ahora bien, lo que puedo decir es una hoja, lo que significa más yo, es si, pero nosotros decimos una hoja. Yo digo que X es menor o igual diez. Diré, entonces
imprima que X es 5-10. ¿Cómo lo sé?
Porque Python, como sabemos, irá
de arriba hacia abajo. Por lo que comprueba primero si
X es menor de cinco. Y si lo fuera, el programa ya se
pararía aquí porque
se cumpliría
la condición y se
imprimiría que X sea
menos de cinco, efectivamente. Pero si no
se cumplió esa condición, el Python irá más allá y nos encontraremos con
esta afirmación. Entonces ya sabemos que
nuestra X en esta etapa, si llegamos aquí, ya
sabemos que X no
es menos de cinco. Pero tal vez queramos comprobar
si está en algún lugar 5-10, y así es como podemos comprobarlo. Ya sabemos
que son cinco o más, así que solo queremos saber si
es menor o igual a diez. Debe ser si lo es, debe ser 5-10. Y ahora puedo crear
otro Alif. Puedo crear tantos
de ellos como quiera. A lo mejor quiero comprobar
si también es menor o igual 20. Pero ¿sabes qué? En este punto, tal vez haya terminado, y solo quiero
decir, llamémoslo LS, y solo uso LS. Eso significa para cualquier otra cosa. Bueno, en esta etapa, sé que X tiene que ser
mayor que diez porque sé
que no es menor que cinco. Sé que no está en algún lugar 5-10, así que puedo estar bastante seguro de que tiene que ser mayor
a diez. Entonces puedo decir, imprimir, X es mayor que diez. Comprobemos si funciona como lo
esperamos . Di Python tres. Si de lo contrario me pregunta qué
quiero establecer para mi variable, diré tres y efectivamente, tres es menos de cinco. Si lo vuelvo a ejecutar, tal vez por
valor diez, es correcto. Dice que X es 5-10. Si hago tal vez 20, dice que X es mayor que diez. Pero ahora, recuerda en
episodio anterior sobre funciones. Creamos una función
que calcula nuestro IMC y el archivo
debería estar todavía aquí, un recordatorio, el IMC
era un índice de masa corporal, y es un indicador
que nos dice si nuestro peso está en
relación con nuestra estatura Si está dentro de la norma o si está más bien
fuera de esa norma. Guardamos ese archivo y ahora podemos modificarlo un
poco usando esas
declaraciones IL para ver para verificar si nuestro IMC está bien
o si no está bien Déjeme aclarar eso y tal vez solo como un
recordatorio de cómo funcionó. Escribo mi estatura
en centímetros, mi peso, y dice, mi IMC es 29.5 Pero es bueno, ¿qué es? Comprobemos primero, ¿qué es un IMC saludable? ¿Cuál es la norma? ¿Yo? Bien, así podemos ver que la puntuación por debajo de 18.5 se
describe como 18.5 a 24.9 es saludable y
25-29 0.9 tiene sobrepeso. Entonces tenemos también obesidad
y obesidad severa. Vamos a usarlo. A lo mejor voy a
ponerlo aquí para que podamos verlo. Y modifiquemos ahora nuestro programa. Diré VM Marek, y podemos dejar
todo como está Simplemente iremos a
nuestra función de IMC. Y ahora, una vez calculado el
IMC, puedo usarlo en el
programa para verificar si ese IMC es para una
persona sana o si no lo es Entonces primero, digo, yo
IMC está por debajo de qué? 18.5. Ese es nuestro punto de partida. Entonces estoy comprobando. Si
mi IMC está por debajo de 18.5, eso significa que puedo usar esa declaración
impresa, Puedes ver que la sangría se crea aquí
automáticamente para mí, e imprimo tu IMC es IMC El resultado, lo que sea que esté
por debajo de 18.5, si es de 15,
16, entonces eso significa que
estás por debajo Y ahora tal vez déjeme copiar eso porque eso va a ser
simplemente demasiada escritura. Voy a tirar dos líneas y voy a pegar pegar, pegar tal vez de nuevo. Creo que está bien.
Ese es mi primer cheque. En la siguiente comprobación, si el
programa Python llegó a este punto, eso significa que mi IMC no está por debajo de
18.5. Debe estar por encima de él. Entonces ahora voy a comprobar si está
entre 18.5 y 24.9. Bueno, de hecho, el siguiente umbral
es 25 empieza a partir de 25. Entonces también puedo decir aquí, solo si son menos de 25. Yo creo que eso es
lo que quieren decir, 24.9 9999, ¿entiendes a lo que me refiero? Tiene que ser simplemente por debajo de 25. Entonces eso es exactamente
lo que necesito, y eso
significaría que estoy
en rango saludable. Estás en rango saludable. O tal vez simplemente estás sano. Ahora, el siguiente sube a 30
porque de nuevo dice 29.9, pero significa estar
por debajo de 30 simplemente Entonces digo por debajo de los 30,
tienes sobrepeso. Bien, bueno, ya es suficiente. Diré solo
L. Pero estos dos, no
son si declaraciones, sí. Son una hoja. Puedes tener solo una yo y una L. Todo lo que hay en el
medio es una hoja, si, y
solo vamos a cambiar esto. No tiene sobrepeso, ahora
es obeso. O es obesidad u
obesidad severa, cualquier cosa arriba. Entonces vamos a comprobar cómo
funciona, si funciona en absoluto. Entonces corro Fon tres macular pi, me
pregunta por mi colmena
una vez por Mi peso es de 93.5. Y ahora puedo ver
que mi IMC es de 29.5, pero también puedo ver
que tengo sobrepeso Entonces, si revisamos ese programa, decía que tengo sobrepeso. Eso significa que verifiqué si
mi IMC está por debajo de 18.5. No, no es porque sea 29.5. Entonces comprobamos la
segunda declaración. Si está por debajo de 25,
no, todavía no lo es, y estoy justo por debajo de los 30, 29.5 Eso quiere decir que sigo
en esta categoría. Pero si
vuelvo a ejecutar el programa por, digamos, a lo mejor tengo 180 y
peso 50 kilogramos. Eso significa que mi IMC es de 15.4
y tengo bajo peso. Bien, espero que tenga sentido.
Gracias por ver.
15. Clases de Python 1011: En este material,
hablaremos las
llamadas clases en Python. Y de hecho, hemos estado trabajando con clases
casi todo el tiempo. Los usamos en cada episodio
anterior, pero puede que no sea tan
visible u obvio. Tomemos el ejemplo más simple. Voy a escribir algo así
como X es igual a uno. Y ahora imprimimos esa X. Simplemente
tomamos el valor de uno y lo asignamos
a nuestra variable X. Y con la función print, simplemente la
mostramos en la pantalla, y ya sabemos que este es un
tipo de datos llamado integer, es
decir, es un número entero. Pero, ¿cómo sabe Python
que esto es un entero? Y ¿cómo sabe qué se puede hacer y qué no se puede
hacer con ese entero? Recuerda la función type
que nos muestra el tipo de datos. Vamos a usarlo aquí. Como podemos ver el entero que es un número
entero es una clase. Esa es la misma clase de la que
estamos hablando, y esa variable X o ese número uno son los
llamados objetos. Entonces ese valor uno es un objeto que pertenece
a la clase entera, y puedo crear un
número ilimitado de tales objetos. Por ejemplo, puedo
crear otro objeto. Vamos a llamarlo Y, sí. Y es igual a dos. Ahora bien, si ejecuto lo mismo pero para Y, este es mi segundo objeto, pero sigue perteneciendo
a la misma clase, que es la clase entera. Algunos de ustedes habrán
escuchado que Python es referido como un lenguaje de programación
orientado a objetos, ese de hecho es el caso porque
al trabajar con Python, prácticamente siempre
estamos trabajando con algún
tipo de objetos, nos demos cuenta o no. Si escribimos algo así, X equivale a hola mundo. Si ahora volvemos a imprimir el
tipo para X, ahora podemos ver que hello
world fue asignado a variable X y ahora pertenece
a una clase llamada string. Esa es una secuencia
de caracteres. Pero, ¿qué significa realmente? Significa que la clase string tendrá diferentes
características. Por ejemplo, si un objeto
está en clase de cadena, no
podemos multiplicarlo por número de punto
flotante. Mientras que si un objeto está
en la clase entera, podemos multiplicarlo
tanto por otro número entero como
por número de punto flotante. Entonces todas estas reglas sobre lo que se
puede o no se puede hacer con un objeto dado se registran en la clase en la que reside
ese objeto. Y en esta etapa, para explicar
esto aún con más detalle, podría ser
lo mejor
para nosotros crear nuestra propia clase así como
objeto para esa clase, o incluso crearemos
varios objetos dentro esa nueva clase
a la que vamos así como podemos crear
números o cadenas, tal vez queremos crear
una nueva clase para crear, no
sé, rectángulos Entonces sí, digamos que
queremos crear una clase para nuestros rectángulos en Python Entonces, ¿cómo creamos una clase
tan nueva? Tal vez empecemos por
crear un nuevo archivo. Voy a usar VIM, voy a crear
tal vez Me clase punto pi. Ahora lo que tengo que hacer,
solo escribo clase, rectángulo o como quiera llamarlo, mi nueva clase y agrego
columna al final. Acabo de crear mi nueva
clase al presionar Enter. Ahora podemos crear lo que
se llama propiedades
para nuestra clase, propiedades y
atributos, en realidad. lo que me refiero, como sabemos, cada rectángulo tiene un
largo y un ancho, sí. Así podemos definir
esos nuestros atributos para nuestra clase rectangular. Y para ello, necesitamos una función especial
llamada Dunder in Sé que suena
gracioso, pero tiene este nombre inusual
porque está
escrito como subrayado subrayado,
luego en él, y luego otra vez,
subrayado luego en él, y luego otra vez, Y este Dunder en él es una función
especial que
automáticamente es llamada
por Python cada vez que creamos un nuevo
objeto a partir de esta clase, lo que haremos en breve Luego también agregamos corchetes, y en estos paréntesis,
proporcionamos los llamados parámetros. Y actualmente, el
único parámetro que
tendremos aquí se llama self. O sea, podemos
llamarlo como queramos, pero lo discutiremos en breve. El parámetro
será reemplazado posteriormente por el nombre del objeto que
creamos a partir de esta clase. Sé que se está complicando.
No te preocupes por ello. Vamos a pasar por ello. Lo mismo con el yo. No te preocupes por ello. Se explicará en breve. Por ahora, escribamos el resto de las cosas que
tenemos que escribir, ¿de acuerdo? Necesitamos esos atributos
para nuestro objeto, que son largo y ancho porque eso es lo que tiene
cada rectángulo. Así que terminemos primero nuestra
función. Solo tenemos que usar profundidad
porque cada función que
escribimos definimos
usando esa DEF, sí Sigo diciendo función pero alguien para hacerlo
aún más difícil, dijo que si
escribes una función dentro de la clase,
se llama método. Pero no importa, en realidad
no es lo más importante aquí. Tenemos que terminarlo con
columna o función más Enter. Ahora estamos definiendo los
atributos, largo y ancho. Entonces decimos auto ancho, y tal vez sea diez
y centímetros, digamos, deja
diez y auto longitud tal vez
esté codificado duro a 20. Entonces el ancho de nuestro rectángulo
es diez, el largo es 20. Y ahora para entender
al yo lo que es, vamos a crear nuestro primer objeto
a partir de esa clase rectangular. A lo mejor para que quede súper claro, voy a hacer
algo así. Terminamos de jugar
con nuestra clase, ahora
comenzamos con nuestro objeto. Y el objeto,
¿cómo hago eso? ¿Cómo creo un objeto? Puedo crear, por ejemplo, mi primer rectángulo, el
rectángulo uno, y solo digo igual a
rectángulo, y uso corchetes. Y también tenga en cuenta, eso es
lo que solemos hacer. Para clase, la primera letra
suele ser mayúscula. Para los objetos, realmente no
importa, pero nada de eso importa. Es solo que puedes crear una clase que
comience con minúsculas Es simplemente algo que los
ingenieros de software estuvieron de acuerdo. Esa clase debe comenzar
con mayúscula, y luego
las restantes son letras minúsculas. Así es como creas tu
primer objeto a partir de esa clase. Lo que puedo hacer ahora, puedo imprimir
mi objeto rectángulo uno. Presionaré la columna de Escape W. la escribiré al archivo y lo mejor voy a abrir
otra terminal, abriré aquí. Y voy a ejecutar ese programa
para ver qué pasa. Quiero decir, primero, vamos a comprobar si aquí es donde mi archivo es ASL Entonces tenemos Mark Pi anterior, pero ahora acabo de crear la clase
Mark, así que vamos a correr. Cuando ejecutamos nuestro
programa así,
lo que Python mostrará es
la ubicación de la memoria
donde creó este nuevo objeto
que llamamos Rectangle one. Todo esto, puedes ver, es simplemente una
ubicación de memoria donde Python guardó ese nuevo objeto. Pero lo que realmente sucede
aquí es que Python leerá ese rectángulo uno y el primer parámetro que
colocamos aquí, que llamamos self. Recuerda, almacenamos parámetros
aquí entre esos paréntesis. Primero los parámetros
self, Python
reemplazará ese yo
por el rectángulo uno. Voy a colocar el rectángulo uno aquí, y luego reemplazará también estos con ese
valor, el rectángulo uno. El ancho del rectángulo uno es diez, y el rectángulo uno de longitud es 20, y en realidad podemos
retraer esos datos O sea, podemos decir
aquí en nuestro programa, podemos decir también imprimir rectángulo un ancho
y de la misma manera, puedo obtener valor para
rectángulo una longitud. Nuevamente, para este
objeto rectángulo uno, coloco este valor
en nuestra clase aquí, el yo se convierte en rectángulo uno. Ahora tengo rectángulo un
ancho, rectángulo uno largo. Diré escape columna W. La
escribiremos en el archivo
y volveré a ejecutar el
programa. Ahora extraí esos valores. Estos son estos atributos. Rectángulo un ancho
es el primer atributo, y el rectángulo una longitud es el segundo atributo
de mi rectángulo. Sólo quiero mostrarte
algo para que quede claro. Este yo, nos llamábamos a sí mismo, pero en realidad puedo
llamarlo como quiera. Si quiero
llamarlo Marek, puedo hacerlo, pero luego tengo que
sustituirlos también por Marek Si lo
vuelvo a escribir en el archivo, escapa Columna W, si vuelvo a ejecutar el programa, como podemos ver,
sigue funcionando bien. Pero para el Dunder
en su función, se acordó que, para el Dunder en ella,
usaremos auto Simplemente, si abres el programa, sabrás de inmediato de
qué se trata. Lo volveré a cambiar para
apegarse a esas reglas. Pero de todos modos, alguien
podría preguntar, Mark, pero el punto de esto porque parece alguna notación
innecesaria Y mientras
tengamos un solo objeto, en
realidad podría parecer
así. Estoy de acuerdo. Sin embargo, recuerda que podemos
crear la clase solo una vez, y luego podemos crear un número infinito de
objetos a partir de esa clase. Entonces ahora vamos a crear el segundo objeto y lo
llamaremos rectángulo dos. Entonces tal vez escapar, lo vamos
a tirar Yang cinco Yang. Yo copié eso, sólo voy a
cambiar al rectángulo dos. Lo cambiaré aquí,
y después quiero imprimir los valores para
Rectángulo dos esta vez. Ahora creamos el segundo objeto. Y cuando Python empiece a
leer el programa
, verá primero el rectángulo uno. Y luego
verá que queremos
crear un objeto a partir de una clase
que llamamos rectángulo. Por lo que va a encontrar esta clase. Voy a reemplazar lo que
pongamos en parámetro aquí. Y como dije,
usualmente verás una palabra yo aquí. Reemplazará ese
yo por el rectángulo uno, y usará ese nombre para
todos los atributos restantes. Entonces tenemos rectángulo uno con es diez y rectángulo
uno de longitud es 20. Entonces imprimirá
todos esos valores. Esta vez verá el segundo
rectángulo de objeto dos. Entonces va a volver
porque podemos ver. O sea, Python verá que
queremos crear objetos
de la misma clase. Así que vuelve, reemplaza este yo por Rectángulo
dos esta vez, y todos los atributos se
llamarán rectángulo dos ancho y
rectángulo dos largo. Y eso es lo
que queremos leer aquí. Entonces si ahora escribo al
archivo como capa columna W, y ejecutamos nuestro programa, lo que primero podemos ver
que el segundo objeto
para el rectángulo dos tiene de hecho
diferente lugar en la memoria. Es un objeto separado creado en otro
lugar de la memoria. Puedo ver que solo dos últimos
valores han cambiado, pero de todos modos, esta
es nueva ubicación. Esta es una nueva ubicación de memoria para objeto dos que
acabamos de crear. Pero ahora alguien podría estar
mirando eso y decir, Mark, esto completamente
no tiene sentido. ¿Por qué crearía más objetos cuando todos son
exactamente iguales? Bueno, cada uno de estos
rectángulos tiene una longitud de 20 y un ancho de diez ¿Cuál es el punto? De nuevo, efectivamente, en este momento, eso es cierto. Estos objetos no tienen
mucho significado porque nuestra longitud y ancho están
codificados en nuestra clase. Aquí codificamos duro esos valores. Sin embargo, este no
tiene por qué ser el caso. Podemos modificar nuestra clase
ahora para que pueda aceptar cualquier valor para la longitud y cualquier
valor para el ancho. Y para ello, podemos agregar parámetros
adicionales a nuestra función especial de inicio de
Dunder. Y cuando digo
parámetros, quiero decir aquí, lo que sea que tengamos
entre estos paréntesis, porque aquí es donde
almacenamos los parámetros. Una vez más, no
importa cómo los nombremos, pero para que tenga sentido, vamos a nombrar estos parámetros
ancho y largo. O tal vez voy a añadir
R rectángulo ancho. Sólo quiero
distinguirlo de esto, así queda más claro qué es qué. Entonces agregaré longitud R, y ahora ya no voy
a querer codificar estos valores. Solo quiero leerlos de cualquier programa
o usuario que proporcione. Voy a usar Rwidth y
adivina R longitud. Pero lo que significa ahora, ahora
cuando construimos nuestro siguiente objeto, así iré aquí donde
empecemos a construir nuestro objeto, necesitaré tres parámetros y el primero permanece
sin cambios y es self, y es algo que no
tengo que proporcionar
entre corchetes porque self es
simplemente el nombre de mi objeto. Ya sabemos que el rectángulo va y sustituye a ese yo. Pero tengo que proporcionar segundo y tercer
parámetro para nuestro objeto. Entonces tal vez digo, quiero
tenerlo como diez de ancho. Este será mi ancho.
Y segundo, después de la coma,
los separamos con comas Digo 20. Pero mi segundo
rectángulo será diferente. A lo mejor serán 5 mil 100.
Será mucho más grande. Ahora vamos a guardarlo, columna W, y ahora vuelvo a ejecutar el programa. A lo mejor vamos a aclararlo
y ejecutar el programa. Ahora lo que tenemos
puedes ver que Python almacena estos objetos aún en la misma ubicación de
memoria, pero ahora cada objeto tiene atributos
diferentes, solo para hacerlo más confuso. Estos lo que aquí aportamos, diez y 20, por ejemplo, estos se llaman argumentos. Estos argumentos que
proporcionamos aquí se convierten en parámetros cuando
son leídos por la clase. ¿Bien? Entonces este argumento diez se convierte en parámetro
llamado R width, y entonces ese parámetro
R width se usa aquí como un valor para el
atributo self width. Cargas y montones
de nombres, lo sé. Pero lo más importante es
entender el concepto, no recordar todos esos nombres. Pero lo acabo de mencionar si acaso te interesa. También recuerda esto a lo que sigo
refiriéndome como función. Pero si escribimos una
función dentro de una clase, ahora realmente deberíamos
llamarla método, no función, aunque sea función, pero no sé, a
alguien le gusta
complicarla más de lo que
debería ser. Pero no importa. Pero tenemos ancho
y largo, sí. Entonces tal vez podríamos agregar características
adicionales para nuestra clase y podemos
calcular perímetro y arar Volvamos a nuestra clase y queremos definir perímetro. Y área, y las definimos
como funciones separadas
para nuestra clase. Entonces digo definir función llamada perímetro y volvemos a
leer
el nombre del objeto. Entonces para el rectángulo uno,
volveremos a cambiar
este parámetro a rectángulo uno
porque tendrá que
reescribir ese valor para
cada objeto individual Mi segunda función
será para área. definiré área y
también agregaré el parámetro self. Entonces comencemos a escribir
esta función. Nosotros diremos print F. Ya
conocemos las cuerdas F
y decimos perímetro. Es que tenemos que calcular
multiplicando ancho y largo, que en nuestro caso es el atributo
self width, multiplicado por self Atributo. Entonces otra vez, porque eso podría no
estar perfectamente claro. Creo el primer objeto
llamado rectángulo uno. Creé a partir de la clase rectángulo. Mi primer parámetro en sí es el nombre del
objeto mismo. Ahora paso primer valor, que se convierte en parámetro
R ancho que R ancho ahora se convierte en
rectángulo un ancho. Y debido a que esta función también reemplaza ese yo
por rectángulo uno, leerá ese
rectángulo un ancho y lo
multiplicará por rectángulo uno largo. Espero
que tenga sentido. Y para la zona, imprimimos
Área recién se realiza. Probablemente solo estén
mirando y diciendo, como, Mark, ¿qué estás haciendo? Por supuesto, esta es área
porque eso es para la zona, y esto es perímetro.
No importa. Ser perímetro, cómo
calculamos perímetro, hacemos auto ancho. Agregamos longitud propia, y la multiplicamos por dos. Pero tenemos que poner
corchetes aquí para asegurarnos de que esta operación se haga primero.
Eso es mejor, ¿no? Bien, así que eso
fue un pequeño hipo. Pero ahora puedo ir a mi objeto y quizá
quitemos estas líneas. Ya no los necesitaremos. Y ahora voy a decir
rectángulo uno, Área, y también
diré rectángulo perímetro. Lo primero, alguien podría decir, ¿dónde está su declaración impresa? Bueno, tenga en cuenta que la impresión que usé ya
dentro de la clase. Así que ya no tenemos que imprimir. Ya es parte de nuestra clase O el
método que escribimos, llamamos a ese método función, pero es método dentro de clase, lo
llamamos área y eso es
lo que hace por nosotros. No sólo realiza
esa operación, sino
que también imprime la salida
de esa operación. Lo que realmente estoy diciendo
en esta línea es que me interesa el
rectángulo de objeto uno,
que es éste, que se crea
a partir del rectángulo de clase con estos parámetros, pero sólo me
interesa una función dentro esa clase que se llama área o método que
se llama área, sí. Por lo que sólo voy a
mostrar esta porción. Pero en segunda línea,
digo, ¿sabes qué? También me interesa
el perímetro. Entonces también ejecutaré este
método dentro de esa clase. Hagamos lo mismo con el
rectángulo dos. Todo bien. Vamos a escribirlo en el
archivo, Escape, columna W, y veamos qué pasa
si ejecuto ahora este programa. Bien, gime algo
sobre la línea siete. Entonces es uno, dos,
tres, cuatro, cinco, seis, siete, y claro, lo hace porque soy estúpido. ¿Sabes qué es?
Te falta un poco. Es muy importante
como puedes ver. Es la columna aquí y allá. Y a lo mejor vamos a
quitar esta línea. O no, tal vez agreguemos uno
extra podría verse
un poco mejor. Bien, otra vez, escapa, colon
W, volvamos a ejecutarlo. Ahora es mejor. Dice Área
es 200, perímetro es 60. Para primer objeto y
para segundo objeto, dice Área 5,000 perímetro
300. ¿Y sabes qué? Eso es genial, pero
la cosa es que normalmente
no lo haces así donde escribes tu clase y tus
objetos en el mismo archivo. Normalmente tienes tu clase en un archivo y los objetos se
crean en otro lugar, generalmente como parte de tu programa. Entonces veamos cómo se puede
hacer, cómo se puede dividir. Estoy diciendo crear nuevo
archivo, objeto Marc. Marcar objeto, se
llamará punto pi. Y ahora voy a copiar mi
objeto. A este expediente. Perfecto. Bueno, no lo necesito, de hecho, aquí, así que
DN y D. Bien. Ahora se ha quitado.
Voy a escribir este archivo. Este es mi archivo de clase Mark, y aquí está mi objeto Mark. No obstante, tengo que añadir
una cosa más porque este objeto tiene que saber
dónde está esa clase. Entonces lo estoy diciendo
usando la clase Import Mark. Esos archivos están en
la misma carpeta, así que solo tengo que
especificar el nombre de mi archivo y puedo ignorar
la extensión punto pi. Simplemente proporcione el nombre
del archivo. Eso es. Y en este caso,
va a estar bien. Pero solo quería
mencionar una cosa más. Tenemos rectángulo de clase, sí, pero a lo mejor quiero escribir
más clases como un círculo, como un cuadrado,
cualquier triángulo. Pero aquí en mi programa, sólo
me
interesa el rectángulo de clase. No me interesa el
triángulo de clases, por ejemplo, ¿verdad? Entonces puedo ser más específico aquí. Estoy diciendo aquí de la clase Mark. Importar y qué clase
quiero importar. Solo quiero importar rectángulo. Eso es lo que me interesa. Entonces, si tuviera varias clases, solo tiraría
del rectángulo uno. Bien, vamos a guardarlo ahora. Y ahora, lo que ejecuto no es la clase
Marc, sino el objeto Mark. Vamos a ejecutarlo y podemos
ver que sigue funcionando bien. Lo sé, es una
lección muy larga, ¿y sabes qué? Es muy difícil de
entender. No te preocupes por ello. Aunque veas el video completo y
sigues viendo eso
y estás como,
Mark, ¿qué carajo? Esto es tan complicado. No lo sé, sea lo que sea que
estés pensando. Te quiero decir, no te preocupes. Este es realmente uno de los temas
más difíciles en la programación en general, no solo la programación Python, sino generalmente en la programación porque hay
tantas partes móviles, tantos nombres diferentes como esos atributos,
parámetros, bla, bla Es muy fácil
confundirse con todo
eso. Y te entiendo. Y ni siquiera quieres saber cuánto tiempo me tomó
entenderlo. Y digo que lo entiendo, pero a veces sigo
luchando hasta ahora. Entonces especialmente en el
programa cuando sacas varias clases y los
múltiples métodos que bla,
bla, ya sabes, es tan fácil crear ese lío que es
difícil de desentrañar Pero no importa,
espero que de todos modos, este video sea útil y
espero que eso sí tenga sentido Así que gracias por ver.
16. IDE de Python: PyCharm vs. VSCode: Hablemos de IDE ahora. IDE significa entorno de
desarrollo integrado, y el ID más popular para
Python se llama Pycharm. Pero Pycharm es una herramienta específica de
Python. Entonces, si quieres trabajar con más de un lenguaje de
programación, es posible que quieras
usar código VS en su lugar, lo que te permite instalar extensiones para cualquier
lenguaje de programación que desees usar. También cuenta con extensiones
para scripts de barras,
responsables, archivos yaml, El código VS es muy bueno y es algo que uso
y puedo recomendar. Generalmente, un IDE es simplemente una aplicación
que te ayuda a escribir, depurar y probar tus programas. Tiene algunas características interesantes
como la finalización automática, pero supongo que muchos de
ustedes se preguntan por qué no hemos usado una
en absoluto en esta capacitación. El motivo es un poco
personal, diría yo. Cuando empecé a
aprender Python, cada curso o
capacitación comenzó con IDE. Tenías que pasar por
varias lecciones instalando y
configurando ese ID y se incrusta en mi
mente que
es necesario un IDE para incluso empezar a
trabajar con Python. Me tomó bastante tiempo darme cuenta de
que es una herramienta completamente
opcional. Es algo que puedes usar, pero no es un requisito. Es decir,
probablemente terminarás usando una identificación u otra
porque realmente te puede ayudar, sobre todo cuando tus programas se vuelven
más largos y complicados. Sin embargo, no quiero que
empieces tu viaje con esa sensación de que es lo primero que
debes saber a
la hora de
aprender sobre Python. Ya veo, terminamos
todo este curso sin una identificación, y ni siquiera parecía que aquí nos
faltara algo. Así que echa un vistazo al código
PyCharm y VS, o tal vez lo encuentres
otro que más te guste Todos son muy
fáciles de instalar. Piense en ellos como un
bloc de notas sobre esteroides. Harán que tu
programación sea más conveniente, pero te dejaré
explorarlas tú mismo, ya que debería ser tu elección, con
cuál quieres trabajar. Entonces eso es todo realmente sobre la identificación. Eso es
todo lo que quería decir. Échales un vistazo, elige uno. No es tan importante, en realidad. Es solo una herramienta de conveniencia. Así que gracias por ver.
17. Aprendizaje adicional: Enhorabuena por completar este curso de programación Python. Ahora posee todos los conocimientos y
habilidades
esenciales para comenzar su viaje de
programación adecuado. Si te interesan las tecnologías
Dobs y Cloud, entonces recuerda
que puedes unirte a nuestra comunidad en la plataforma de automatización avenue.com donde
puedes aprender todo sobre Terraform ,
AWS, Cloud, Python y
muchos más temas sobre Cloud y muchos más Espero que eso ayude y
gracias por ver. Marcar.