0% encontró este documento útil (0 votos)
2 vistas23 páginas

Fundamentos de Programación en Python

El documento presenta los fundamentos de la programación, centrándose en conceptos básicos como el lenguaje de máquina, lenguajes de programación, intérpretes y compiladores. Se destaca el lenguaje Python, su origen, características, y usos en diversas aplicaciones. Además, se explican los modos de ejecución de código en Python, incluyendo el modo interactivo y el uso de archivos.

Cargado por

romami
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
2 vistas23 páginas

Fundamentos de Programación en Python

El documento presenta los fundamentos de la programación, centrándose en conceptos básicos como el lenguaje de máquina, lenguajes de programación, intérpretes y compiladores. Se destaca el lenguaje Python, su origen, características, y usos en diversas aplicaciones. Además, se explican los modos de ejecución de código en Python, incluyendo el modo interactivo y el uso de archivos.

Cargado por

romami
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Fundamentos

Módulo 1:
Conceptos Básicos

[Link]
Fundamentos

Clase 1 - Temario
Conceptos Básicos
• Lenguaje de máquina.
• Lenguaje de programación
• Intérpretes o compiladores

El lenguaje Python
• Características y entornos de ejecución

[Link]
Fundamentos

Clase 1 - Bibliografía
Aprender a pensar como un programador
en Python
• Capitulo 1

[Link]
Fundamentos

Conceptos Básicos

[Link]
Fundamentos

Programa
Las computadoras realizan las tareas porque tienen
cargados “programas” que le indican cómo hacerlas
Pero....
¿Qué es un programa?

“Un programa es un conjunto de


instrucciones u órdenes que le indican a
la computadora cómo se realiza una
tarea”

[Link]
Fundamentos

Lenguaje de programación
Ahora bien.. si hago uso del lenguaje natural para
escribir un conjunto de instrucciones... ¿lo puedo
cargar en la computadora y ejecutar? Ejemplo:

Leer del teclado el número ingresado


Sumarle 3

NO.....
Debo hacer uso de “lenguajes de programación”

numero=input('Ingresa un numero')
numero= numero+3 [Link]
[Link]
Fundamentos

Lenguaje de programación
Entonces..
Si escribimos un programa con un lenguaje de
programación, ¿lo puedo cargar y ejecutar
directamente?
NO......
La máquina SOLO entiende e interpreta
“Lenguaje de Máquina”.
Podría ser el código de una
sentencia que asigna un
valor a una variable y luego
le suma 1

[Link]
Fundamentos

Lenguaje de programación
Entonces....
¿Debemos aprender a escribir los programas con
esas sentencias?
NO.....
Se puede hacer uso de:
“Lenguajes de programación de medio y alto
nivel”

[Link]
Fundamentos

Lenguaje de alto nivel


• Más Fáciles de escribir
• Portables: pueden ejecutarse en diferentes tipos
de computadoras sin o con mínima modificación.
• Necesitan de un programa que traduzca las
instrucciones a lenguaje de máquina
• Dos tipos de programas que traducen:
Intérprete
o
Compilador

[Link]
Fundamentos

Intérpretes y Compiladores
• Intérprete:
Programa que lee un programa escrito en un
lenguaje de alto nivel instrucción a instrucción y,
para cada una de ellas, efectúa una traducción a
código de máquina equivalente y las ejecuta
inmediatamente.

• Compilador:
Programa que lee completamente un programa en
un lenguaje de alto nivel y lo traduce en su
integridad a un programa de código de máquina
equivalente.

[Link]
Fundamentos

Intérpretes y Compiladores
Diferencias:

Intérprete:
Cada vez que se ejecuta el programa, el proceso de
traducción y ejecución, se repite.

Compilador:
El programa de código de máquina resultante se
puede ejecutar cuantas veces se desee, sin
necesidad de volver a traducir el programa original.

[Link]
Fundamentos

Intérpretes
• Entrada: Código Fuente (programa escrito en
lenguaje de programación)
• Salida: Resultados
• Por cada sentencia del programa:
– La lee
– La analiza
– La decodifica y
– La ejecuta

E INTÉRPRETE
S

Programa Resultados

[Link]
Fundamentos

Compiladores
• Entrada: Código Fuente (programa escrito en
lenguaje de programación)
• Salida: Código Objeto o Ejecutable (programa listo
para ser ejecutado)
• Una vez compilado el programa, puede ser ejecutado
repetidamente sin volver a traducirlo.
• Si al probarlo vemos que da un resultado no deseado,
hay que modificarlo y volverlo a compilar
Código Código
fuente objeto

TRADUCCIÓN
[Link]
Fundamentos

El Lenguaje
Python

[Link]
Fundamentos

Lenguaje Python
Lenguaje Python
Origen del lenguaje:
• El lenguaje fué desarrollado por Guido Van Rossum a
finales de los años 80 en el centro de investigación en
Matematicas CWI en Holanda.
• El nombre proviene del grupo de cómicos ingleses
“Monty Python”.
• Fué creado para suceder al lenguaje de programación
ABC.
• En la primera versión ya estaban presentes elementos
que permiten programación compleja como ser: clases
con herencia, manejo de excepciones, funciones, y los
tipos medulares: list, dict, str.
• Es Software libre

[Link]
Fundamentos

Software Libre
Lenguaje Python
Se lo define en base a:
• Libertad 0: Libertad de usar el programa, con cualquier
propósito
• Libertad 1: Libertad de estudiar cómo funciona el
programa, y adaptarlo a necesidades propias.
• Libertad 2: Libertad de distribuir copias
• Libertad 3: Libertad de mejorar el programa y hacer
públicas las mejoras a los demás, de modo que toda la
comunidad se beneficie.
Se distribuye con el código fuente.
[Link]
Fundamentos

Lenguaje Python
Usos del Lenguaje:
Se ha utilizado y se lo utiliza ampliamente para:
• Programar tareas de administración de sistemas. Ej. En
distribuciones Linux.
• Producción de efectos especiales de películas. Ej.
Empresa: Industrial Light & Magic.
• En sistemas informáticos de la NASA.
• Gestión de grupos de discusión (ej. Yahoo).
• Parte de componentes de rastreadores Web y motores
de búsqueda (ej. Google).
• Realización de juegos de computadora.
• En la bioinformática.
• Enseñanza de la programación, etc.
[Link]
Fundamentos

Lenguaje Python
Algunas Características:
• Lenguaje de alto nivel, fácil de aprender.
Expresivo y legible.
• Sintáxis elegante y tipado dinámico y fuerte.
• Es multiparadigma, puede usarse como lenguaje
imperativo procedimental o como lenguaje
orientado a objetos. Además tiene características
de los lenguajes funcionales.
• Es Interpretado.
• Es Multiplataforma.

[Link]
Fundamentos

El entorno Python

[Link]
Fundamentos

Proceso de ejecución

Existen dos formas de ejecutar código


Python:

• Modo interactivo:
• Obteniendo una respuesta por cada línea.
• Sesión interactiva

• Usando un archivo:
• Escribir el código del programa en un archivo de
texto y
• Luego ejecutarlo

[Link]
Fundamentos

Proceso de ejecución
Modo interactivo:
•Existen otros programas, tales como IDLE e IPython,
que añaden funcionalidades extra al modo interactivo,
como el auto-completar código y el coloreado de la
sintaxis del lenguaje.
•Al ejecutar Python se abrirá una ventana y aparecerá un
prompt similar a:
Indica el número de versión y da
información de derechos de copia,
antes de mostrar el primer indicador

[Link]
Fundamentos

Sesión interactiva

IDLE (Python GUI) [Link]


Fundamentos

Utilizando un archivo
Se guarda el archivo y se
ejecuta. Con extensión
“.py”, por ej.

Se comienza a
ejecutar cada una
de las sentencias
del módulo

IDLE (Python GUI) [Link]

Common questions

Con tecnología de IA

Interactive mode allows execution of Python code line-by-line, providing immediate feedback useful for testing small code snippets and troubleshooting. This method fosters quick experimentation and learning. Non-interactive mode involves executing code from a file, suitable for running whole programs after development and testing are complete. This method enhances script reproducibility and allows for automation of tasks .

Distributing Python as free software allows users to use it for any purpose, study and modify its source code, distribute copies, and improve the program while sharing modifications. This openness promotes community collaboration and innovation, enabling diverse improvements and adaptations, enhancing Python's utility across various applications, and accelerating its evolution as a programming language .

High-level programming languages are more user-friendly, emphasizing ease of writing and readability compared to machine language. They are portable, allowing programs to run on various types of computers with minimal modification. High-level languages require translation into machine language through interpreters or compilers. While machine language is understood directly by the computer, high-level languages abstract this complexity, enhancing productivity and reducing errors .

Python supports multiple programming paradigms including imperative procedural, object-oriented, and functional programming. This multi-paradigm nature allows developers to choose the most effective programming style for their application needs. Python's dynamic typing, elegant syntax, and readability further augment its flexibility and facilitate the integration of different programming styles, helping it to be a versatile tool in diverse computational fields .

Python was developed by Guido van Rossum in the late 1980s to succeed the ABC language. It aimed to incorporate elements facilitating complex programming, such as classes with inheritance, exception handling, functions, and core data types like lists, dictionaries, and strings. Python was also conceived as free software, allowing users the freedom to use, study, modify, and distribute the software, reflecting robust community and educational values .

Real-world applications of Python include system administration, where its simplicity aids in automation scripts, movie effects due to powerful libraries like NumPy, and NASA's systems for robust data processing. Its high-level syntax benefits web search engines like Google for rapid development and testing. Features contributing to this suitability include extensive libraries, clear syntax, and strong support community, ensuring efficient problem-solving and enhanced functionality .

Python's interpreted nature means code is executed line-by-line, which allows for interactive debugging and faster iteration during development. This immediacy facilitates rapid prototyping as changes can be tested on the fly without a separate compile step. However, execution might be slower compared to compiled languages since each line of code is processed every time the program is run, requiring consistent interpretation .

Python is often preferred for system administration tasks due to its scripting capabilities, in film industry effects by companies like Industrial Light & Magic for its simplicity and power, in NASA's software systems for its reliability, and in web services like Google due to its robust libraries. Additionally, it's utilized in bioinformatics for its data processing capabilities and in education for its simplicity and clear syntax, which helps beginners learn programming fundamentals .

An interpreter translates a high-level language program into machine code instruction by instruction, executing each immediately, which means the translation process is repeated every time the program runs. In contrast, a compiler translates the entire program into machine code at once, creating an executable file that can be run multiple times without retranslation. This makes execution faster for compiled programs since translation is done once, whereas interpreted languages have runtime translation .

Python’s dynamic typing means that variable types are determined at runtime, offering flexibility and ease of use, particularly in prototyping and rapid development settings. This contrasts with static typing, where variable types are declared and checked at compile-time, often resulting in more optimized code. Dynamic typing allows Python developers to write code more freely without needing to define data types explicitly, but it may introduce runtime errors if not handled carefully .

También podría gustarte