Salta al contenido principal

Python Primer Contacto

Sitio: Facultad de Ingeniería U.Na.M.
Curso: Informática ET241/EM241/IC241/IN241/IM204
Libro: Python Primer Contacto
Imprimido por: Invitado
Día: miércoles, 18 de diciembre de 2024, 04:58

1. Software Libre ( Nuevo 2024)

En Informática, desde hace mas de 15 años buscamos predicar con el ejemplo.

Es por eso que dejamos de lado todo el Software que requiera una licencia y/o pagos de la misma para poder funcionar.

Puede ser que el alumno no lo sepa, pero Windows , Microsoft Office, Autocad, Solid Work, etc son programas que tienen un costo. Algunos de ellos tienen una licencia para estudiantes que no tiene costo, pero requiere registro y probablemente tenga alguna limitación.

Como sabemos que existe la posibilidad hacer lo mismo con software libre que con software pago, eso por supuesto conlleva algún esfuerzo, pero igualmente nos comprometimos y como dije desde hace mas de 10 años estamos trabajando con esa consigna.

Es por eso que como Sistema Operativo usamos LINUX.

1.1. Linux

Pensemos en un Vehículo.

Cada uno de estos vehículos tienen algo en común: Todos permiten transportar.

Linux o mejor dicho GNU_Linux, es lo mismo.

Cada Modelo de trasporte del  dibujo sería como una Distribución de Linux.

Al igual que en el Dibujo en Linux, hay una distribución que se ajusta a cada uso en particular.

Justamente una Distribución de Linux busca incorporar los programas para un determinado fin, como ser:

  • Juegos.
  • Diseño.
  • Multimedia
  • Oficina.
  • Desarrollo.
  • Servidor

Algunas de las Distribuciones pueden ser:

  • Android.
  • Arch Linux.
  • CentOS.
  • Debian.
  • Elementary OS.
  • Fedora Linux.
  • Gentoo Linux.
  • Kali Linux.
  • Ubuntu
  • Xubuntu
  • Kubuntu
  • Linux Lite
  • etc. etc.
Hay muchas, en la materia vamos a usar las que se derivan de Ubuntu , que es una derivada de Debian.

1.2. Ubuntu

¿Qué distribución tiene Ubuntu?
Ubuntu es una distribución GNU/Linux que ofrece un interesante sistema operativo para equipos de escritorio y servidores en el ámbito educativo.

Es una distribución basada en Debian cuyas principales características son:

  • Facilidad de manejo.
  • Actualizaciones frecuentes.
Las Distribuciones derivadas de Ubuntu son muchas.
  • Ubuntu
  • Kubuntu
  • Edubuntu
  • Xubuntu
  • Ubuntu MATE
  • Lubuntu
  • Ubuntu GNOME
  • Ubuntu Studio
  • Gobuntu
  • Mythbuntu
  • Ubuntu JeOS
  • Ubuntu Mobile and Embedded Edition
  • Ubuntu Netbook Remix
En la materia vamos a indicar el equipo y se va a ver un menú , conocido como Grub que permite elegir el Sistema Operativo, vamos a elegir el derivado de Linux que encontremos.

La selección se hace CON LAS FLECHAS DE DIRECCIÓN ARRIBA Y ABAJO DEL TECLADO Y PRESIONANDO ENTER.
No funciona en Mouse en esta instancia.

2. ¿Por elegimos lenguaje Python?

Como indicamos en el capítulo anterior, buscamos utilizar Software que no requiera Licencias, en particular el Lenguaje de Programación Python es uno de ellos. Mas allá de eso tiene otros elementos que hacen que sea una opción de lenguaje de Programación interesante para los que inician en la programación.
Su principales características son:

  • Opensource: no se necesita pagar par usar, no hay que crackear o cometer ningún delito para tenerlo.
  • Multiplataforma : funciona en Windows, Linux, Mac.
  • Es facil  de entender, se parece al ingles.
  • Tiene una sitaxis que lo hace ordenado, y ayuda a entender el código.
  • Tiene Infinidad de  librerías, que son códigos que hicieron otras personar y  prácticamente cualquier problema, a día de hoy pues puedes resolver. Como ser  problemas inteligencia artificial, de big data, data science, testing, web, Scrapping o simplemente realizar tareas más sencillas.
Con anterioridad en esta materia dabamos otro lenguaje C++, consideramos desde hace unos años Python se volvió mas adecuado para la mayoría de las Ingenierías ( esta materia se da en 4 especialidades) es por eso que la cátedra realizó la adaptación que creía necesaria e implementó la enseñanza de Python.

Pregunta Signo Ilustración Ilustraciones Vectoriales, Clip Art Vectorizado  Libre De Derechos. Image 97096477.¿Qué significa que Python es opensource?
  1. Que es un software de código abierto y entre otras cosas, es gratis.
  2. Que es un intérprete de cualquier tipo de código.
  3. Que lo podemos usar en cualquier plataforma.
  4. Que es multifuente.
¿Cual es su respuesta?

3. ¿Python: Lenguaje Interpretado o Compilado?

Las personas que programan, escriben el programa o conjunto de acciones que debe seguir el procesador en un lenguaje que no es el Español, o Ingles. Es un lenguaje especifico que NO es el que entiende el Procesador.

El procesador entiende un lenguaje BINARIO ( compuesto por 0s y 1s) , así que hay alguien que debe hacer la traducción desde el lenguaje en el cual escribimos al que entiende el procesador.

C++, python )

   

Para introducir el concepto de Interprete ( que usa Python ) y compilador ( que usa C++) lo vamos  a hacer con un ejemplo.

Escenario 1:

Una persona que habla español y tiene muy mala memoria  tiene que traducir un texto del Ingles, llama a una persona que sabe Ingles la cual le traduce. Al rato tiene llamarlo nuevamente para que traduzca el mismo texto por que se olvidó, así cada vez que quiere saber que dice el texto debe llamar al traductor o interprete para que le indique que dice el texto.

Escenario 2:

Una persona que habla español y tiene muy mala memoria  tiene que traducir un texto del Ingles, llama a una persona que sabe Ingles la cual le  traduce el texto del Ingles al español y se lo escribe en una hoja, así cada vez que quiere saber que dice el texto solo debe leer lo que está traducido.

  • Escenario 1 = Interprete. ( Python)
  • Escenario 2 = Compilador ( C++)

Tanto el Compilador como el Interprete son programas que hace su trabajo: TRADUCIR.

Solo que el Interprete los hace todas y cada uno de las veces, a diferencia del Compilador que lo hace una sola vez.

Si pensamos en estos elementos que mencionamos en los escenarios podemos establecer algunas características propias de cada uno de ellos según la analogía y que son válidos para  los que sería puntualmente un Compilador o Interprete. Otros elementos mas técnicos no se aprecian en esta analogía planteada, como por ejemplo la relación con el Sistema Operativo, etc. Pero eso está fuera del alcance del curso. El proposito de esta sección es que el alumno entienda que hay en principio dos maneras de traducir a Binario el lenguaje de programación que escribimos.

A continuación con el proposito de hacer un paralelismo y analogía presentamos una comparación entre lo que sería una comunicación enter una persona y un grupo de personas y entre una persona y una computadora..

Pregunta: ¿Que hace un interprete de Python?

Respuesta: Ejecuta el código de Python.



Se pueden observar elementos que se utilizarán en la materia:

IDE, Terminal, Interprete.


4. Lenguajes

Existen numerosos lenguajes de programación.
Algunos son Compilados y otros Interpretados.
En este Link tenemos un Ranking de lenguajes, este cambia frecuentemente. 
Aquí hay otro sitio que muestra otro Ranking
Podemos ver entre ellos:
  • C y C++
  • Java
  • Python
  • Visual Basic .NET
  • PHP
  • Ruby
  • Perl
  • Matlab
Algunos que se usaban como Visual Fox Pro, Clipper, Cobol ya ni figuran en el listado, aunque pueden servir para algún propósito.
Cada lenguaje es mas fuerte en algún área que lo hace una mejor herramienta para esos casos.
Suele suceder que una vez que uno aprende un lenguaje de programación, intenta hacer todo lo posible, aunque puede ser que no sea la mejor herramienta para ese caso...pero es lo que tenemos
Observación:
Cuando tu única herramienta es un martillo, todo te parece un clavo.
Por eso creo que NO debemos ser fanáticos de un lenguaje, puede ser que para nuestro propósito se útil.. pero solo eso. Es esta asignatura vamos a mencionar varios lenguajes con el propósito , pero solo vamos a programar  en Python.
Comentario Respecto de C++ vs Python:
Un lenguaje de programación es como una herramienta, y cada herramienta tiene un campo de aplicación en el que es mejor que otras y otros campos de aplicación en el que es peor.
Siguiendo las analogías, Python sería como aprender a manejar un auto con caja automática y C++ como manejar un auto con caja manual.
Si me permiten otra  analogía, nadie piensa en comprar un Gol o un Fiat UNO y utilizarlo para correr un Rally Dakar, pero tenemos que coincidir que para transportarnos en cualquier ciudad uno de esos autos son mas que suficientes, la idea es que C++ puede ser muy bueno para cuando se debe ser exigente, efectivo y muy rápido pero para la mayoría de los casos el Python puede cubrir todas las necesidades.
Los términos exigente, efectivo y muy rápido lógicamente son relativos, lo que lleva a que en algunos casos haya zonas de conflicto.

5. Terminal

Terminal dondes estás que no te encuentro!!

Un terminal de texto, a menudo solo terminal o consola de texto, no tiene tiene elementos gráficos, no funciona el mouse, solo sirve para tipear texto, en estos programas la salida es solo texto.

Originalmente, los terminales del texto eran terminales de computadora electrónicas, conectados con los computadores centrales, que hoy llamamos servidores.

Estamos acostumbrados a hacerlo todo con el mouse o ratón.

El navegador, el procesador de textos, el cliente de correo o el reproductor multimedia, redes sociales, todos están pensados para ser controlados fácilmente, pero hay quien prefiere hacerlo todo en modo texto y no por capricho. Para el que sabe es mucho mas rápido y sencillo, pero bueno están las palabras: "para el que sabe".


5.1. Interface Gráfica

. y hace 30 años apareció la interface gráfica


Desde luego se ven en las películas que  algunos usuarios avanzados de Linux (y los hackers de las películas, claro) usan el entorno no gráfico.

A veces usan programas con su interfaz gráfica, pero si hay algo que ofrece Linux es la posibilidad de no depender del ratón prácticamente para nada, esto para los usuarios normales puede parece una desventaja, pero no lo es.

En realidad casi no existe nada que no se pueda hacer desde una terminal, lógicamente esto no es tan intuitivo como un entorno gráfico.
Con la popularización del Sistema Operativo Windows, los usuarios, dejaron de lado la terminal o consola, sobre todo los usuarios de  Windows y como Windows tiene 30 años y la mayoría de los usuarios actuales tienen menos de 30 ( espero)  no saben que es una terminal o consola, cuando nacieron solo vieron el entorno gráfico, pero, que desde Linux no perdió toda la vigencia.


5.2. Terminales No gráficas.

Terminales No gráficas.

Que pasa con la terminales gráficas de Windows y de Linux?

Creo que muchos de Uds. no saben que existía un afilador, era una persona que con una bicicleta recorría los barrios y ofrecía afilar los cuchillos. En la bicicleta tenían una piedra desvastadora quese hacía girar con los pedales.
Tambíen existieron los lecheros, que por las mañanas llevaban leche en botellas de vidrio a las casas.

Que quiero decir con esto, que hay cosas que existieron y no sabemos, pero a diferencia de los oficios mencionados, las posibilidades de hacer tareas en una terminal de Linux no son pocas, pero como hay que tener mas conocimiento, muchos no las conocen

Ejemplo de algo que puede reflejar la idea de cosas que deberíamos saber que existieron aunque en el futuro no se usen:

Papel higiénico 

Esta escena es de la película Demolition Man ( de 1993), con  Sylvester Stallone, Wesley Snipes, Sandra Bullock.

Windows interrumpió en el mercado, pero le quitó funcionalidad a la consola de Windows ( no tiene todos los comandos que tiene la de Linux) por lo cual los usuarios de Windows casi no tienen conocimientos de la terminal no grafica y no es muy útil, pero existe.

Para programar en Python, no se necesita mas que una terminal, el interprete de python instalado y un editor de texto.
Voy a mostrar algunos ejemplos con imagenes de pantallas en Windows y en Linux de como acceder a los entornos no gráficos.

Esto se utilizará para algunos ejemplos ahora y es para que el alumno entienda que NO es necesario una IDE para programar, pero es mas fácil hacerlo con una IDE.

Un entorno de desarrollo integrado (IDE) es un sistema de software para el diseño de aplicaciones que combina herramientas del desarrollador comunes en una sola interfaz gráfica de usuario (GUI).



5.3. Terminales No gráficas.

Terminales No gráficas.

pero no muere la terminal en Windows?

No no muere, es mas.. Windows creó una nueva terminal o consola no gráfica para poder potenciar el uso de las terminales no gráfica... esta nueva conocida como Powershell , va por la versión 7 ( ver documentación de Microsoft ), y a que la anterior  conocido como CMD.

CMD (abreviatura de CoMmanD) es un programa (cmd.exe) de Microsoft Windows equivalente al programa command.com , que es un intérprete de comandos en un entorno no gráfico conocido como entorno de MS-DOS (MicroSoft Disk Operating System), la primer versión del sistema Operativo de Microsoft.

CMD se puede ejecutar:  presionando banderita + R ( de run ) y escribir cmd ó CMD ó haciendo clic en la lupa de Windows y escribir cmd ó CMD , tal como se muestra en la imagen siguiente:

En nuestro caso SOLO los usuarios de Windows que usen la IDE Anaconda, van a usar en un primer momento un entorno no gráfico que le ofrece el Anaconda.

Se abre una terminal no gráfica.. pero no es de Windows, es de anaconda, podemos ver el promt

Allí escribimos python y damos enter..finalmente tendremos el interprete de Python corriendo

En este caso la versión 3.7.6

5.4. Terminales en Linux

¿y donde está la terminal en linux?

Nunca muere!!.

Para poder acceder a la terminal de Linux basta presionar crtl+alt+T  y se verá lo siguiente:

Podemos ver el prompt, allí tipeamos python ó python3  y presionamos enter:

Bien.. ya estamos en condiciones de ejecutar programas de Python!!!


6. Palabras Reservadas o Keywords

En lenguajes informáticos, las palabras reservadas son aquellas que tienen un uso determinado para el lenguaje y, por lo tanto, no pueden ser empleadas en el código como identificadores (por ejemplo, nombres para las variables).

Cada lenguaje de programación tiene su propio grupo de palabras reservadas, pero en general coinciden algunas de las siguientes: and, array, begin, case, const, default, do, else, end, file, for, function, goto, if, in, label, mod, not, of, or, repeat, return, then, to, type, until, void, while, etc.

En nuestro caso partitular las palabras reservadas (keywords) corresponden a los nombres de las declaraciones que el intérprete de Python incluye por defecto. No se deben utilizar dichas palabras para asignar nombres a otros objetos.

Desde la interface de trabajo vamos a saber cuando son palabras reservadas por que cambian los colores...veamos con una imagen a que nos referimos.


La salida de ejecutar este código en mi equipo  sería:


Un listado de palabras reservadas puede ser consultado ingresando help('keywords') desde la interfaz interactiva. Para Python 3 , por ejemplo se vería algo como :

A modo informativo las versiones 2.x de Python cuenta con 31 palabras reservadas:

and as assert break class continue def del elif else except exec finally for from global if import in is lambda not or pass print raise return try while with yield

En lenguaje C existen 32 palabras reservadas y en C++ 64.

Todos los lenguajes tienen esto que se conoce como palabras reservadas o keywords.

Si queremos plantear una analogía serían como las palabras que tienen los lenguajes como español, ingles, etc.

Pregunta Signo Ilustración Ilustraciones Vectoriales, Clip Art Vectorizado  Libre De Derechos. Image 97096477.¿Qué son las palabras reservadas en Python?

  1. Conjunto de palabras que pueden variar de significado durante la ejecución en Python.
  2. Conjunto de palabras definidas por el lenguaje que no pueden cambiar de significado y Python va a entender qué es lo que hacen.
  3. Conjunto de palabras que actúan como variables.
  4. Conjunto de palabras reservadas que Python no puede entender.

7. Instalación de Lenguaje

Instalando Python

Se recomienda al alumno instalar Python en su equipo en este punto para poder seguir con los ejercicios. 

Dada la cantidad de Versiones de Windows es muy dificil hacer un tutorial que permita guiar en la instalación de cada versión, sabiendo si es Windows 7, 10 u 11 , si e tiene una versión de 32 bit o 64 bits, etc, es por eso que se recomienda buscar en Google y seguir el instructivo que se adapte a su caso.

Para aquellos que tengan Linux, es probable que no tengan que instalar NADA, solo abrir un terminal y escrbir python3 y presionar Enter.

Las pruebas, printscreen , ejemplo de esta asignatura se realizan sobre Linux, pero no debería ser muy distinto a lo que sería en Windows, esto es por que nos referimos a Python,  así e.

En esta sección del curso SOLO usaremos  el interprete de Python.

Caracteristicas de Python

Fue creado por Guido van Rossum en 1991. Existen varias versiones de este lenguaje de programación: 2.x, 3.x

Las características del lenguaje de programación Python se resumen a continuación:

  • Es un lenguaje interpretado, no compilado
  • Usa tipado dinámico,
  • Es multiplataforma ( Windows Linux, Mac) , lo cual es ventajoso para hacer ejecutable su código fuente entre varios sistema operativos.
  • Orientado a objetos
  • Programación Estructurada
  • Programación imperativa
  • En menor medida, programación funcional.
  • Multiparadigma ( Estructurado, Imperativo, Funcional)
  • En Python, el formato del código (p. ej., la indentación o Sangrado ) es estructural.

Se dice de un lenguaje de programación que usa un tipado dinámico cuando la comprobación de tipificación se realiza durante su ejecución en vez de durante la compilación. 

Con Tipificación nos referimos a Tipos de Datos, en lenguajes como C o C++, si vamos a utilizar una variable para asignarle un valor, antes DEBEMOS decir si es entera o real por ejemplo, esto requiere conocer de antemano lo que estamos haciendo. En Python esto no es así, se asigna y listo. Es mucho mas fácil sobre todo para los que recién se inician en la programación.

Cuando declaramos una variable, no es necesario decirle de que tipos son los datos (si es entera, real, texto , etc.). La variable se adapta a lo que escribimos cuando se ejecuta el programa.

Observación: Esto de saber el tipo de dato, no debería representar un problema para un futuro Ingeniero, pero en la práctica no es así para unos cuantos.

El por que elegimos este lenguaje tiene los siguientes fundamentos:

  • Se trabaja en un entorno NO gráfico ( tipo terminal ó DOS) , esto permite concentrarse en lo que escribimos pero permite obtener elementos gráficos.
  • Este lenguaje permite realizar tareas de casi todo tipo ( aplicaciones que corren en una máquina, sitio Web, etc).
  • Es un lenguaje de alto nivel, lo que facilita un montón de cuestiones para alguien que recién se inicia.
  • Se puede correr en cualquier plataforma ( Windows, Linux, Mac).

Iniciando el Interprete de Pyton.

Puede suceder que existan distintas versiones de Python, incluso un equipo puede tener instalado por ejemplo dos versiones de Python. Veamos un ejemplo. 
Con las x representamos distintas sub-versiones del mismo, ejemplo:
En las imágenes que se ven a continuación de resaltan las diferencias que se muestran en el video.

En esta asignatura vamos a trabajar con la Versión 3.x., esto va cambiando con el tiempo ya que el Lenguaje evoluciona.


En esta materia vamos a usar la versión 3.x de Python


Se pide al alumno abrir el Interprete de Python y observar la versión que tiene instalada.

Observación: mencionamos abrir Interprete de Python,  NO SPYDER.. es importante que el alumno entienda la diferencia.

Antes de poder escribir algo en lenguaje Python, tenemos que saber unas pequeñas convenciones del lenguaje. 

Observación: Solo a modo de comentario y para entender algo sobre las versiones y sus  diferencias las cuales pueden ser evidentes o no. Veamos un caso.

8. La Sangría de Python

Indentación es un anglicismo (de la palabra inglesa indentation) de uso común en informática; no es un término reconocido por la Real Academia Española (consultado en la vigesimosegunda edición). La Real Academia recomienda utilizar «sangrado». Este término significa mover un bloque de texto hacia la derecha insertando espacios o tabuladores, para así separarlo del margen izquierdo y mejor distinguirlo del texto adyacente; en el ámbito de la imprenta, este concepto siempre se ha denominado sangrado o sangría.

La indentación se refiere a los espacios al principio de una línea de código, para explicar el por que lo realizaremos con un ejemplo de un texto. Supongamos que quieren realizar unas acciones una cantidad reiterada de veces... como podríamos escribir esto en Español ?, esta sería una manera:

También podríamos  utilizar otras menos frecuentes... pero que igual se pueden comprender..

En este ejemplo anterior.. no se usa la indentación , pero si un par de llaves para "Agrupar" las acciones a reiterar... esta forma se una en Lenguaje C++.

En Python se usa esta otra...

En otros lenguajes de programación la sangría en el código es únicamente para facilitar la lectura, por ejemplo en C++, pero en Python la sangría es muy importante y si no se realiza adecuadamente, se puede producir un error

Python utiliza la sangría para indicar un bloque de código o agrupar acciones o conjunto de acciones.

Ejemplo: Crear un archivo archivo_mal_indentado.py con un editor con el siguiente contenido:

print (' Hola Mundo')
#esto que comienza con # es un comentario y Python lo ignora, no lo interpreta
 print ('Chau  mundo') # esta línea tiene un espacio al inicio.!!!

luego ejecutar el archivo con Python. 


Vemos que en la segunda línea  el  print( 'Chau mundo')   está desplazado, esto es una sangría o indentación y no corresponde en ese lugar, por eso tira un error. Ya veremos mas adelante donde SI deben ir las Sangrias.

1) Pregunta por audio: Escriban el siguente código en el terminal/Anaconda Prompt (El docente  pega el código en Notas compartidas)


x=input('ingrese un caracter')
    print(x)


Pregunta: ¿Corre el script o  tira un error?

Opciones de la encuesta:

A) Tira Error
B) Corre. No tira error.

1) Pregunta por audio:  Saquen el espacio delante de print y corran de nuevo el script. Tira error?

Opciones de la encuesta: Si/No

9. Mostrar datos

La función print()


Vamos a hacer nuestro primer programa en Python, con el típico saludo Hola Mundo.

1) Abrimos el interprete de Python.

2) Escribimos :  print (“Hola Mundo, ejemplo de uso de print ....”)

La línea usa una función de Python, llamada print, que imprime en la pantalla los que tiene entre ()  ( argumento de la función print()).

En nuestro caso el argumento es: “Hola Mundo, ejemplo de uso de print ....”

En los programas, para que Python nos muestre algo por pantalla se utilizar la función print().

Hagamos unos ejercicios, escriba en el interprete los siguientes comando y observe que sucede, trate de analizar la salida a ver si tiene sentido, esto será evaluado mas adelante.

  1. print("Hola")
  2. print('Hola')
  3. print("Hola", " Adios")
  4. print()
  5. print('Adiós')

El docente plantes unas encuestas/preguntas...

1) Pregunta por audio: Vamos a escribir lo que se muestra en el Moodle.. (se puede pegar en notas compartidas.)

Cuales de estas líneas de código de Python y responden la cual o cuales tira error en Encuesta.

  1. print("Hola")
  2. print('Hola')
  3. print("Hola", " Adios")
  4. print()
  5. print('Adiós')

Opciones de la encuesta: 

A) Tiran error todas

B) Tira error la 2 y 4

C) Tira error la 5 y 1

D) Ninguna tira error

2) Pregunta:  ¿En la línea   print()   .. la función print tiene argumento?

Opciones de la encuesta: Si /NO

3) Pregunta por audio: ¿El print solo usa comilas simples?

Opciones de la encuesta:  Si / No

4) Pregunta: Probemos hacer lo siguiente:

print('x', "y ")

¿tira error?

Opciones de la encuesta:  Si/No

5) Pregunta : Probemos ahora ....

print(“x’, ‘y”)

¿tira error?

Opciones de la encuesta:  Si/No

10. Ingresar datos

Comienza recién ahora el uso de IDE. Google tiene instructivos para guiarlos.

Mu-editor es muy liviano(rápido). Spyder es mas pesado pero mas completo.

El alumno puede usar Mu-editor : 

 Figura 1

El alumno puede usar Spyder :  

 Figura 2

La función input().

El valor introducido por teclado se toma como caracter,  no como números. Mas adelante veremos esto con mas detalle esta diferencia.

Para introducir una cadena vamos a tipear en la zona del editor:
 

cadena = input('Introduce una cadena de texto: ')
print ('La cadena que ingreso es: {0}'.format(cadena))

Aclaremos que es cada parte de lo tipeado:

 Figura 3

Vemos que en la función input podemos poner entre comillas ' ' un texto y se verá en la pantalla, este texto sería parte del argumento de input.

Para introducir un número int ( entero ) tenemos que indicar que lo ingresado con input sea convertido a int.


numero = int(input(“Introduce un numero: “))
print (“El numero que ingreso es:{0}”.format(numero))


Ver que en la primer utilización de input NO se usó int, por lo que por defecto input regresa texto o string.

  • Texto o string : mi mamá me mima
  • int:  4

Para introducir un número float ( real o flotante ) tenemos que indicar que lo ingresado con input sea convertido a float.

  • float :  4.3

numero = float(input(“Introduce un numero: “))
print (“El numero que ingreso es:{0}”.format(numero))

Escribir en el interprete lo siguiente:

Ejercicio 1: escribir en e IDE, en este caso el video se muestra mu-editor

cadena = input('Introduce una cadena de texto: ')
print ('La cadena que \n ingreso es: {0}'.format(cadena))

Observe la salida de este script y comente con su compañero tratando de entender y asociar la salida con lo que escribió.

Veamos las asociaciones que se pueden observar y que el alumno debería haberla notado:

 Figura 4

1) Pregunta por audio: Compartir por Notas compartidas :
cadena = input('Introduce una cadena de texto: ')
print ('La cadena que \n ingreso es: {1}'.format(cadena))

Correr el Script , ¿Tira error?

Opciones de la encuesta: Si/No

Ejercicio 2:

Reemplace \n por \t. ¿Que diferencias se observa?

 

Ejercicio 3: Ahora si abra Spyder y escriba los siguiente....

print("Ingrese un nro.")
a=int(input())
print("Ingrese un nro.")
b=int(input())
print("La suma de los valores ingresados es: {0} ".format( a+b))


Ver que el script anterior tira un error si se ingresan números decimales.
Proponga una modificación al script para corregir los errores.

11. format

Si ejecutamos este script:

La salida será:


Se pide al alumno analizar las líneas con print, para poder asociar el formato del mismo con la salida y poder entender como funciona.






12. Componer texto

Python tiene varias formas mostrar cadenas de caracteres y presentar entre el texto las variables.

Algunas formas si bien se pueden utilizar en Python 3 pero son derivadas de versiones anteriores de Python y no las mostraremos.

El conocido como método format es el que utilizaremos y mostramos algo en la sección anterior.

El método format,  es un método ( mas adelante veremos bien en detalle que es un método) que se aplica a un texto o string que le antecede y se unen por un punto (.)

 Figura 1

En este caso los marcadores o contenedores están formados por un par de llaves "{ }", dentro de las cuales va el indice ( 0 ó 1 para nuestro caso) de la lista de argumentos pasados a str.format() ó texto.format() ó string.format()

Esto quiere decir que se puede alterar el orden en que se utilizan los argumentos e incluso utilizar varias veces el mismo argumento. El primer argumento tiene el índice 0.

 Figura 2


También se puede omitir el índice dentro de los marcadores{} , pero en ese caso, hay una relación fija entre el orden en que aparecen los marcadores {} y los argumentos del format.

 Figura 3

Con el propósito de fijar conceptos se pide al alumno realizar las siguientes prueba, razonar e interpretar las salidas para luego justificar los resultados.

Aclaración: Con la idea de que los alumnos utilicen el teclado, no pueden copiar el contenido del script de Python ya que es una imagen, la idea es ir aflojando los dedos :-)

.

Ejercicio 1:

 Figura 4

Ejercicio 2:

Figura 5

Ejercicio 3:

Figura 6

13. IDE (Interface de Desarrollo)

El interprete de Python visto es muy util y rápido, pero si queremos escribir un programa en Python y ejecutarlo en el Interprete deberíamos hacer lo siguiente: ( 3 pasos)

1) Abrir un editor de texto ( NO PROCESADOR de texto como Word)

2) Escribir el programa, y guardar el archivo en un lugar con en nombre de programa elegido y la extensión .py

3) Abrir un entorno no Gráfico y pasarle al interprete Python el nombre del archivo para que lo interprete...

Mostraré algunas imágenes en Windows y en Linux.. para ilustrar lo que menciono.

13.1. Ejecutar Programa o Script de Python en Windows

 

Los tres passo en  Windows:

Figura 1

Luego de abrir el Block de Notas ( notepad.exe) escribimos el programa en Python:

Figura 2

Luego guardamos en Mis Documentos por ejemplo ( recordar el lugar donde se guarda) .

El  Block de notas le pondría su extensión : .txt y el nombre sería: prueba.py.txt. si no ponemos ¨ ¨ ( comillas dobles) . Claramente de se que no sería del tipo de extensión python .py si no de texto: .txt

Para evitar que el block de notas le ponga su extensión , forzamos el nombre y extensión poniendo las comillas dobles.

 Figura 3

Finalmente ejecutamos anaconda prompt:

  Figura 4

Nos cambiamos al directorio o lugar donde habíamos guardado el archivo de nombre prueba.py

  Figura 5

Y ejecutamos con el interprete el programa prueba.py:

  Figura 6

  Figura 7

El docente realiza una/s encuesta/preguntras....

1)Pregunta: ¿ cuantas aplicaciones se abrieron en total para poder correr el script o programa de python?
Opciones de la encuesta:

A) 1

B) 2

C) 3

D) 4

2) Buscar en Google: ¿Que es la extensión de un archivo?.

Comentar ( o escribir en el chat) que entiende el alumno. No vale copiar y pegar. 

3)Pregunta: ¿Cuál es la extensión del script de Python? 

Opciones de la encuesta:

A) .py

B) .phy

C) .exe

D) .cpp

4)Pregunta : ¿cuál es el nombre del programa o script de Python?
Opciones de la encuesta:

A) prueba

B) programa

C) notepad

D) bloc de notas

5)Pregunta por audio: ¿Entre que se pone el prueba.py  en el Bolc de Notas ?
Opciones de la encuesta:

A) comillas dobles

B) comillas simples

C) parentesis

D)llaves 

13.2. Ejecutar Programa o Script de Python el Linux

Los tres pasos en Linux:

Para poder ejecutar un programa o script de Python en Linux, al igual que en Windows debemos abrir un editor de texto.

En Linux hay muchos, vamos a usar el gedit que es propio de Ubuntu y muy parecido a lo que sería el Block de Notas o notepad.exe.

Si se preciona ALT+F2 se abre cuadro de texto donde podemos escribir gedit ( en minúsculas , es case sensitive)  , se vería algo parecido a:

  Figura 1

Se abre el editor de nombre gedit y se  tipea el script.

   Figura 2

Al guardar podemos observar lo siguiente:

  Figura 3

Escribimos el nombre del programa con extensión .py y tenemos que recordar el lugar donde se guarda el archivo, en este caso Carpeta Personal.

Luego de guardado el programa podemos observar que el texto adquiere color.. se deja al lector analizar el por que.

  Figura 4

 

Finalmente para ejecutar , abrimos una terminal de Linux, ya explicamos anteriormente como y ejecutamos el script o programa de Python pasando como "argumento" al interprete de Pyhton, tal como muestra la imagen.

Ver que hay un espacio entre que se invoca al intérprete y el argumento, es por eso que cuando dimos los tips sobre nombres de programas se aconsejaba NO USAR ESPACIOS!!

  Figura 5

Aquellos que NO tengan Linux, igualmente debían entender esa sección  y poder responder la siguiente encuesta

1) Pregunta por audio: Que comillas usaron para  guardar el archivo con extensin .py
Opciones de la encuesta:

A) Comillas Simples

B) Comillas Dobles

C) Ninguna
 

1) Pregunta por audio: ¿ Como se llama el editor de Texto usado?
Opciones de la encuesta:

A) Word

B) Write

C) Notepad

D) Gedit

 

1) Pregunta por audio: ¿ Que sucedió con el texto del editor luego que se guardó como archivo de Python con extensión .py ?
Opciones de la encuesta:

A) No pasó nada

B) El texto se agrandó

C) El texto se tuvo colores

 

1) Pregunta por audio: ¿Por que el texto tomo colores ?
Opciones de la encuesta:

A) No cambió de colores

B) Identificó que  es Python

C) Ni idea

 

1) Pregunta por audio: ¿Cuantas aplicaciones se usaron para correr este pscript o programa ?
Opciones de la encuesta:

A) 1

B) 2

C) 3

D) 4

 

1) Pregunta por audio: Cuando se ejecuta la línea: python prueba.py , ¿Cual sería el nombre de prueba.py en la línea?
Opciones de la encuesta:

A) argumento/parametro

B) nombre

C) programa

13.3. Mu editor

 Mu es un editor de Python para programadores principiantes. Está diseñado para hacer que la experiencia de aprendizaje sea un poco más agradable. Este editor da a los estudiantes la capacidad de experimentar el éxito codificando desde el principio

Este editor tiene como características importantes:

  • Es liviano ( corre bien en máquinas con pocos recursos)
  • Tiene una interface:
    • moderna
    • minimalista.
  • Es libre.
  • Se puede instalar en Linux, Windows, Mac.
  • Permite controlar la sintaxis correcta
  • El depurador funciona muy bien.

  Figura 1

Se puede descargar de:

https://codewith.mu/en/download

También hay tutoriales

https://codewith.mu/en/tutorials/

Esta asiignatura, el alumno puede usar tanto Spyder como Mu.

La interface se vé en el tema que trae por defecto asi:

  Figura 2

13.4. Thonny IDE

El editor de Thonny es minimalista, permite de manera muy facil controlar los valores de variables, especiales para cuando queremos depurar ( encontrar errores) . Resalta las ocurrencias de variables y ayuda a detectar errores tipográficos.

Las variables locales se distinguen visualmente de las globales.

Es una IDE muy liviana, especial para maquinas con pocos recursos.

El sitio:  https://thonny.org/

Tiene instaladores para Linux, Windows y Mac.



13.5. Spyder IDE

Como vimos , para poder correr un script o programa hecho en Python, debemos recurrir a mínimo un par de Programas ( editor de texto e Interprete) , afortunadamente existen Programas llamados IDE que permiten trabajar mas fácilmente, logrando que TODO esté en una sola interface o programa, hasta incluso el interprete de Python, de esta manera brinda a parte de la facilidad de todo en uno otras cosas como: ayuda conceptual, colores, resaltados, etc. que facilitan la tarea del programador.

Hay muchas IDEs para programar en Python... a modo de Ejemplo mostramos varias  incluido Spyder y Mu-editor:

  • Mu-editor
  • Spyder
  • PyCharm
  • Visual Studio Code
  • Atom
  • PyScripter
  • Wing Pyhotn IDE
  • Spacemacs with Python layer
  • PaizaCloud IDE
  • Spacemacs
  • BBEdit
  • Geany
  • Neovim
  • Emacs
  • Vim
  • Sublime Text
  • Komodo Edit
  • Eclipse with PyDev
  • IDLE
  • Light Table

O sea que hay para todos los gustos. La cátedra se decidió por Mu ó Spyder,  basado en la información que se consigue, en que es gratuito el uso y que la instalación es sencilla y multiplataforma (Windows/Linux) 

Entonces en nuestro curso usaremos indistintamente Mu o  Spyder.

Para utilizar en Windows Spyder, es algo mas complejo que el Linux, se recomienda instalar el paquete Anaconda..este incluye el Spyder y el interprete de Pyhton. 

Observación: El hecho que en Anaconda se incluyan muchas herramientas ( que normalmente NO USAMOS en este curso) hace que sea mas pesado (lento) que el Mu-editor. En la parte derecha de la Figura 1, se muestran los programas que se incluyen en Anaconda.

 

  Figura 1

Para el caso de Windows , se pueda solamente instalar Anaconda, ya que es muy sencillo hacerlo. Ver tutoriales de  Internet sobre como instalar Anaconda en Windows.

1) Pregunta : ¿Ud. diría que el Spyder es mas que un interprete?
Opciones de la encuesta: SI / NO

2) Pregunta : ¿Ud. diría que el incluye ....?

Opciones de la encuesta:

A) Interprete+Editor,

B) Interprete+Editor+Ad. de Archivos

C) Interprete+Editor+ Varios

 Para el caso de Linux, se pueda solamente instalar el Spyder.. no es no es necesario instalar Anaconda, ya que es muy sencillo hacerlo. Ver tutoriales en el Moodle sobre como instalar Spyder en Linux.

Por el momento vamos a ubicar IDE Spyder3 en nuestra computadora, por favor mire donde el docente que le indica como acceder a este programa. Si tiene dificultades no dude el llamarlo.

Vamos a probar tipear ( escribir, codificar ) los ejercicios que vimos hasta el momento. Mas adelante vamos a volver a ver la IDE Spyder 3 para ver mas en detalle.

Al abrir Spyder 3 , se deberían ver varias áreas. Vamos a escribir el código de Python en la sección que dice "Editor de Texto",  ver la imagen a continuación:


Aquí les dejo un Video donde se explica en español la interface de Spyder3 para que lo vean luego. (

)

1) Pregunta: ¿Cual es la Zona para escribir el programa o Script?
Opciones de la encuesta:

A) Zona 1

B) Zona 2

C) Zona 3

 

2) Pregunta: ¿Que cree que pase en la Zona 2?
Opciones de la encuesta:

A) Corre el programa

B) Es una terminal

C) Es el interprete

 

3) Pregunta : ¿Que es lo primero que hago luego de escribir un programa, guardo asignando un nombre  o corro el programa?
Opciones de la encuesta:

A) Guardo

B) Corro

 

13.6. Visual Code Studio

Visual Code Studio , esta aplicación es otra que permite entre MUCHAS opciones escribir un programa en Python y ejecutarlo.

Editor de código fuente independiente que se ejecuta en Windows, macOS y Linux. La elección principal para desarrolladores web y JavaScript, con extensiones para admitir casi cualquier lenguaje de programación.

Esta aplicación no es recomendada para equipos como pocos recursos.

Visual studio code updated.png

Esta IDE, es de Microsoft, al igual que todas las que usamos en la materia son Libres, se pueden instalar SIN costo.

Sirve para muchos Lenguajes, y es por eso que puede ser algo mas complejas que otras.

En este link: Instalar Visual Studio les orienta sobre como instalar esta IDE.

En este Link : Instalación de Visual Studio Community  les explica como instalar los elementos que permitan programar en Python con Visual Studio ya que como indicamos es una IDE para programar en varios lenguajes.



13.7. Conda-miniConda-Anaconda

Esta es una infromación adicional para los alumnos.

referencia: https://towardsdatascience.com/managing-project-specific-environments-with-conda-b8b50aa8be0e

Que es Conda?

Conda es un paquete de código abierto y un sistema de gestión del entorno que se ejecuta en Windows, Mac OS y Linux.

  • Conda puede instalar, ejecutar y actualizar rápidamente paquetes y dependencias asociadas.
  • Conda puede crear, guardar, cargar y alternar entre entornos de software específicos del proyecto en su computadora local.
  • Aunque Conda se creó para programas Python, Conda puede empaquetar y distribuir software para cualquier lenguaje como R, Ruby, Lua, Scala, Java, JavaScript, C, C ++, FORTRAN.

Conda como administrador de paquetes le ayuda a encontrar e instalar paquetes. Si necesita un paquete que requiere una versión diferente de Python, no necesita cambiar a un administrador de entorno diferente, porque Conda también es un administrador de entorno. Con solo unos pocos comandos, puede configurar un entorno totalmente separado para ejecutar esa versión diferente de Python, mientras continúa ejecutando su versión habitual de Python en su entorno normal.


Sugiero instalar Miniconda, que combina Conda con Python 3 (y una pequeña cantidad de paquetes de sistemas centrales) en lugar de la distribución completa de Anaconda. Instalar solo Miniconda lo alentará a crear entornos separados para cada proyecto (¡e instalar solo aquellos paquetes que realmente necesita para cada proyecto!) Lo que mejorará la portabilidad y reproducibilidad de su investigación y flujos de trabajo.

Link a miniconda:  https://docs.conda.io/en/latest/miniconda.html

Pregunta Signo Ilustración Ilustraciones Vectoriales, Clip Art Vectorizado  Libre De Derechos. Image 97096477.


Para instalar Anaconda en Windows:
  1. ¿Bajamos un instalador universal y lo ejecutaremos?
  2. ¿Tendremos que ver si nuestro windows es de 32 o 64 bits, seleccionar el instalador correspondiente y ejecutarlo?
  3. ¿No hay versión de Anaconda para Windows?

13.8. ON-LINE IDEs

Si si... IDE ON-LINE que se pueden ejecutar desde el navegador Web hay un montón.

Elijo solo una, para mostrar, en esta NO se necesita logearse, ni registrarse.. solo se escribe el código y se ejecuta.

El sitio es: https://www.programiz.com/python-programming/online-compiler/

Como se puede ver,  también se puede escribir en otros lenguajes ( C, C++, Java, JavaScript)

Si no le gusta esto el alumno puede probar buscando en Google..

Aparecen mas de 500 mil resultados.. entre ellos.

  • https://replit.com/site/ide
  • https://www.tutorialspoint.com/execute_python3_online.php
  • https://geekflare.com/es/online-compiler/python
  • https://www.python.org/shell/
  • https://replit.com/languages/python3
  • https://paiza.io/es/projects/new?language=python3

etc. etc..

13.9. ON-LINE Jupyter Notebooks (Google Colab) Nuevo 2025

Vimos que Anaconda es una distribución libre y abierta​ de los lenguajes Python y R, utilizada en ciencia de datos, y aprendizaje automático (machine learning).

Es en algún punto fácil para poder incorporar herramientas para Programar en Windows.

Anaconda instala muchas aplicaciones, entre ellas una llamada Jupyter o Jupyter Notebooks.

Esta herramienta  Notebooks Jupyter, tambíen se puede usar ON-LINE desde la plataforma de Google Colaboratory o Google Colab, para esto basta tener una cuenta de correo en Gmail.

Colab te permite usar notebooks de Jupyter y compartirlos con otras personas sin tener que descargar, instalar ni ejecutar nada en la computadora.

En este link se explica de manera resumida el uso de esta interface para escribir código de Pyrhon de manera ON-LINE.

Ejemplo:


13.10. ON LINE Spyder en VM Linux

Prueba Spyder en línea

¿Quieres probar Spyder sin instalarlo? ->hacer click aqui

Con Binder puede trabajar con una copia completamente funcional de Spyder en línea que se ejecuta directamente en su navegador web,

sin necesidad de instalación. Visite Spyder Binder para comenzar a usar Spyder.



Prueba Spyder en línea

¿Quieres probar Spyder sin instalarlo? Con Binder puede trabajar con una copia completamente funcional de Spyder en línea que se ejecuta directamente en su navegador web, sin necesidad de instalación. Visite Spyder Binder para comenzar a usar Spyder.

13.11. Celulares IDEs

Si también podemos programar en Python desde un Celular. En la materia NO se contempla la enseñanza de programación usando un celular, pero es posible.

Solo a modo informativo:

Esto es solo por mencionar algunas.. asumo que existen muchas mas, pero desde la materia NO damos soporte sobre las mismas , ni recomendamos que se inicien en la programación de Python usando el Celular.


14. Ejercicios


Escribiremos el código en Python y lo hacemos correr o ejecutar. Para ello se presiona el símbolo de Ejecutar (Triángulo o Play ) y observamos en la sección de la Terminal.

Manos a la obra.....

 

Ejercicio 1: Escriba en mu o spyder,  lo siguiente....


a=float(input("Ingrese un número: " ))
b=float(input("Ingrese un número: " ))
print("\n el primer valor : \n",a,"\n el segundo: \n", b)

Debatir con el compañero las siguientes cuestiones:

  1. ¿Para que sirve \n?
  2. Elimine los \n y observe la salida y compare.
  3. Pruebe escribir  print(a,"\n",b,"\n") observe por pantalla la salida, luego elimine las comillas dobles de " de \n y comente la salida que resulta de correr , sin comillas dobles.

 

Ejercicio 2: Escriba en mu o spyder,  lo siguiente....

a=float(input("Ingrese un número: " ))
print("\n El valor ingresado es %3.2f es un número real" %a )

Debatir con el compañero las siguientes cuestiones:

  1. ¿Que diferencias observa respecto de los ejercicios anteriores?
  2. ¿Que pasa si se cambia %3.2f por 3.10f ?
  3. ¿Que pasa si se pone una coma (,) antes de %a? :print("\n E primer valor ingresado es %3.2f es un número real", %a )


Ejercicio 3: Escriba en mu o spyder,  lo siguiente....

a=float(input("Ingrese 1er número: " ))
b=float(input("Ingrese 2do número: " ))
print("\n El primer valor ingresado es %3.2f y el segundo valor ingresado es %3.2f" %(a,b))


Ejercicio 4: Escriba en mu o spyder,  lo siguiente....

a=float(input("Ingrese 1er número: " ))

b=float(input("Ingrese 2do número: " ))
print("\n La suma es %3.2f" %(a+b,)) # note la coma en argumento.

15. Preguntas.


Preguntas.

Estas son algunas de las preguntas que los alumnos deberían ser capaces de responder luego de estudiar la sección.


¿Cuál/Cuáles son los motivos por los que aprender a programar?

  1. Para desarrollar aplicaciones para que usen otros.

  2. Para modificar aplicaciones existentes para que se adecuen a nuestras necesidades.

  3. Para unificar hardware y software.

  4. La A y la B son correctas.



¿En qué consiste una "receta" para un ordenador?

  1. Es un conjunto de instrucciones las cuales el ordenador tiene que interpretar en el orden que considere oportuno.

  2. Es una lista de tareas que el ordenador tiene que hacer una detrás de la otra.

  3. Ambas respuestas anteriores son correctas.

  4. Ninguna de las anteriores es correcta.



¿Qué problemas podemos afrontar con el uso de Python?

  1. Problemas relacionados con el “Big Data”.

  2. Problemas relacionados con el “Testing”.

  3. Problemas relacionados con el “Scraping”

  4. Todas las anteriores son correctas.



Spyder tiene:

  1. Intérprete de Python

  2. Editor de texto

  3. Explorador de archivos

  4. Todas las anteriores


¿A qué hace referencia "." en el terminal cuando utilizamos el comando "cd"?

  1. Hace referencia a la carpeta en la que nos encontramos actualmente.

  2. Hace referencia a la carpeta superior.

  3. Nos muestra los archivos ocultos.

  4. No se utiliza "." con el comando "cd".