9. EL CREADOR
- Guido van Rossum
- Titulación universitaria:
Matemáticas y computación
- Centrum Wiskunde
& Informatica (CWI)
- Desarrollo de ABC
- Python
10. HISTORIA
Pasatiempo personal.
Pensó en darle continuidad al lenguaje ABC
ABC fue una alternativa a BASIC
Limitaciones del hardware
Empieza a trabajar en Python
11. HISTORIA (evolución)
Versión 0.9.0 - Febrero 1991
Versión 1.0 - Enero de 1994
Versión 2.0 - Octubre del 2000
Versión 3.0 - Diciembre de 2008
Version 4.0 - 2023 ¿?
- Diferencias entre 2.0 y 3.0
12.
13. - Fácil
- Intuitivo
- Potente
- De código abierto
- Comprensible
¿Cómo debería ser Python?
15. PRINCIPIOS DE LA FILOSOFÍA DE PYTHON
- Bello es mejor que feo.
- Explícito es mejor que implícito.
- Simple es mejor que complejo.
- Complejo es mejor que complicado.
- Plano es mejor que anidado.
- Disperso es mejor que denso.
- La legibilidad cuenta.
- Los casos especiales no son tan especiales como para
quebrantar las reglas.
- Lo práctico gana a lo puro.
- Los errores nunca deberían dejarse pasar.
- A menos que hayan sido silenciados explícitamente.
- Frente a la ambigüedad, rechaza la tentación de adivinar.
- Debería haber una, y solo una, manera obvia de hacerlo.
- Aunque esa manera puede no ser obvia al principio a menos
que usted sea holandés.
- Ahora es mejor que nunca.
- Aunque nunca es a menudo mejor que ya mismo.
- Si la implementación es difícil de explicar, es una mala idea.
- Si la implementación es fácil de explicar, puede que sea una
buena idea.
- Los (namespaces) son una gran idea ¡Hagamos más!
16. ABC EN PYTHON
- La sangría para agrupar el código
- El diseño de las instrucciones
- Tuplas, listas, diccionarios
- Datos inmutables
- No imponer límites
17. DIFERENCIAS ENTRE PYTHON Y C
- Sangría
- Comentarios
- Variables
- Palabras reservadas
- Código en una línea
19. ‘ ‘ ‘
Comentario largo en Python
‘ ‘ ‘
# Comentario al final de la línea de código en Python
/* Comentario largo en C */
// Comentario de una línea de C
COMENTARIOS
21. PALABRAS RESERVADAS
- auto
- break
- case
- char
- const
- continue
- and
- del
- for
- is
- raise
- assert
- default
- do
- double
- else
- enum
- extern
- float
- for
- goto
- if
- int
- long
- register
- return
- short
- signed
- sizeof
- static
- struct
- type
- def
- union
- unsigned
- void
- if
- else
- elif
- from
- lambda
- return
- break
- global
- not
- try
- class
- except
- or
- while
- continue
- exec
- import
- yield
- def
- finally
- in
- print
Python
C
- volatile
- while
22. CÓDIGO EN UNA SOLA LÍNEA
Todo seguido
En varias
líneas
26. ● Historia de Python I
● Historia de Python II
● Historia de Python III
● Historia de Python IV
● Guido van Rossum
● Curiosidades
● Guía básica
● Estadísticas python vs frances
● Grandes empresas I
● Grandes empresas II
WEBGRAFÍA:
Notas del editor
Este lenguaje que hace especial énfasis en la legibilidad del código
otro lenguaje de este estilo es ruby, un lenguaje de programación interpretado, reflexivo y orientado a objetos, creado por el programador japonés Yukihiro Matz, presentado públicamente en 1995 y cuya sintaxis está inspirada en Python y Perl
Es un lenguaje de programación, para concretar un poco más, es un lenguaje
De alto nivel, es decir, que se asemeja más al lenguaje de las personas que al lenguaje máquina
Interpretado, por lo que necesita otro programa auxiliar que traduzca los comandos introducidos.
Multiparadigma: es decir, que más que forzar a los programadores a adoptar un estilo particular de programación, permite varios estilos: programación orientada a objetos, programación imperativa y programación funcional.
Funcional: es decir, que está basado en el uso de verdaderas funciones matemáticas.
Dinámico: ya que una variable puede tomar valores de distinto tipo.
Multiplataforma.
En los últimos años su uso se ha incrementado y en la actualidad es uno de los lenguajes más empleados en el desarrollo de software
para mostrar esto hemos añadido dos gráficas
En los últimos años su uso se ha incrementado y en la actualidad es uno de los lenguajes más empleados en el desarrollo de software
para mostrar esto hemos añadido dos gráficas
Esta primera, muestra la evolucion de los lenguajes python, javascript, java, c#, php y c++ centrándose en países de ingresos altos como Estados Unidos, Reino Unido, Alemania, Canadá y otros países similares, que en representan aproximadamente el 64% del tráfico de Stack Overflow.
La segunda gráfica nos muestra, a diferencia de la primera, la evolución del uso de los lenguajes anteriores y esta vez incluye también el lenguaje r pero no se limita a los países con altos ingresos, además de mostrar un rango de tiempo más amplio.
ambas gráficas basan sus datos en las preguntas realizadas por los usuarios sobre cada lenguaje. eso no indica que sea el uso real que se le da a dichos lenguajes pero nos sirve para ver el interés de los usuarios en cada uno.
y como podemos ver en esta imagen, python continua siendo uno de los que más interes despierta ¿?
nació en los Países Bajos en 1956 y obtuvo su titulación universitaria en matemáticas y computación por la universidad de Amsterdam en 1982.
Trabajo en el CWI, un centro holandes de investigacion de matematicas e informatica, donde participo en el desarrollo del lenguaje de programacion ABC pero su trabajo más destacado es el lenguaje de programación Python.
En las navidades de 1989 Van Rossum, mientras trabajaba en el CWI, decidió empezar un nuevo proyecto como pasatiempo personal.
Pensó en darle continuidad a ABC, el lenguaje de programación que se desarrollo en el mismo centro en el que estaba trabajando y que fue pensado como alternativa a BASIC. Se trataba de un lenguaje pensado para principiantes pero este proyecto no llegó mucho más lejos debido a las limitaciones del hardware de la época, así que Van Rossum decidió, partiendo de la base que tenía, empezar a trabajar en Python.
La primera versión que se sacó fue la 0.9.0 y años después salió la versión 1.0, en enero de 1994, etc etc y se espera que la nueva version, la 4.0 salga en 2023
Entre cada una de estas principales hubo muchas otras subversiones.
La transición de Python 2 a Python 3 fue mucho más costosa de lo esperado, debido a que Python 3 introdujo muchos cambios en el lenguaje y obligaba a reescribir prácticamente todos los programas, aunque se crearon herramientas para ayudar en ese proceso.
Estas son las subversiones que se han ido sacando en los ultimos años siendo las que estan en rojo versiones que se consideran ya obsoletas
Ademas ´Van rossum dirigió el desarrollo de Python hasta julio de 2018, poco despues de que saliera la version 3.7, cuando anunció que se retiraba y desde 2019 el desarrollo de Python está dirigido por un consejo de dirección de cinco miembros elegidos entre los desarrolladores de Python que se renueva anualmente.
Una de las veces que le preguntaron, el creador describió a Python como un programa que debería ser fácil, intuitivo y tan potente como sus principales competidores.
El proyecto sería de código abierto para que cualquiera pudiera colaborar.
El código escrito en Python sería tan comprensible como cualquier texto en inglés.
y debería ser apto para las actividades diarias permitiendo la construcción de prototipos en poco tiempo.
De aqui surgieron los 20 principios de la filosofia de Python
uno de los desarrolladores de python, Tim Peters, publicó 19 de los 20 principios de la filosofía de python en El Zen de Python, que es, precisamente, la colección de los 20 principios de software que influyen en el diseño de este programa.
los principios son:
Estos son los 19 principios que publicó Tim Peters …. con su respectiva traduccion:
1. Bello es mejor que feo.
2. Explícito es mejor que implícito.
3. Simple es mejor que complejo.
4. Complejo es mejor que complicado.
5. Plano es mejor que anidado.
6. Disperso es mejor que denso.
7. La legibilidad cuenta.
8. Los casos especiales no son tan especiales como para quebrantar las reglas.
9. Lo práctico gana a lo puro.
10. Los errores nunca deberían dejarse pasar silenciosamente.
11. A menos que hayan sido silenciados explícitamente.
12. Frente a la ambigüedad, rechaza la tentación de adivinar.
13. Debería haber una, y preferiblemente solo una manera obvia de hacerlo.
14. Aunque esa manera puede no ser obvia al principio a menos que usted sea holandés.
15. Ahora es mejor que nunca.
16. Aunque nunca es a menudo mejor que ya mismo.
17. Si la implementación es difícil de explicar, es una mala idea.
18. Si la implementación es fácil de explicar, puede que sea una buena idea.
19. Los (namespaces) son una gran idea ¡Hagamos más de esas cosas!
Las principales ideas de ABC que influyeron o se incluyeron en Python según el propio creador fueron
La sangría para agrupar el código, como veremos en algun ejemplo despues
El diseño simple de las instrucciones como if, while, for, que tambien hemos visto en C
Tuplas, listas, diccionarios, los tipos de datos inmutables y no imponer límites, como en el tamaño de un array, etc...
Vamos a comentar algunas cosas sobre el lenguaje de python y lo vamos a hacer comparándolo con el lenguaje de C ya que es el que todos conocemos al haberlo estudiado en clase
En C los distintos bloques se separan con llaves a las que ya nos hemos acostumbrado mientras que en python esta funcion la realiza la sangria, que al contrario de C, donde es completamente voluntaria y se emplea para que el código quede mas elegante y sea mas sencillo de leer, en Python es obligatorio su uso.
Ambos programas ejecutan lo mismo, estando escritos cada uno en su respectivo lenguaje
Los comentarios en python se pueden poner de dos formas. La primera y más apropiada para comentarios largos es utilizando la notación ''' comentario ''', tres apóstrofos de apertura y tres de cierre. La segunda notación utiliza el símbolo #, y se extienden hasta el final de la línea.
Podriamos decir, aunque no es exacto, que los tres apostrofes son equivalentes a la barra asterisco en C y el hastag de python a la doble barra de C
Aqui podemos ver dos ejemplos en distintos programas
En python, las variables se definen de forma dinámica, lo que significa que no se tiene que especificar cuál es su tipo de antemano y puede tomar distintos valores en otro momento, incluso de un tipo diferente al que tenía previamente, como en el ejemplo que se muestra en la imagen.
Al igual que en C, se usa el símbolo = para asignar valores y los nombres de las variables pueden contener números pero deben comenzar obligatoriamente por una letra
Como apunte, en esta imagen podemos ver tambien un ejemplo de los comentarios que de los que acababamos de hablar
Primero recordamos que las palabras reservadas no pueden utilizarse para nombrar variables.
El lenguaje C está formado por 32 palabras clave mientras que Python cuenta con 28 palabras reservadas, frente a las 150 del BASIC, programa que ya habiamos mencionado antes porque era el predecesor del ABC que a su vez es predecesor de python-
Debido al significado sintáctico de la sangría, cada instrucción debe estar contenida en una sola línea.
Sin embargo, si para que sea más sencillo de leer se quiere dividir la instrucción en varias líneas, se puede hacer añadiendo una barra invertida al final de una línea, como vemos en el ejemplo.
Las dos instrucciones de las imagenes son equivalentes:
-COMENTARIOS
ASIGNAR VALORES
SANGRIA
INT MAIN
PUNTO Y COMA
DOS PUNTOS
El nombre "Python", a diferencia de lo que mucha gente cree no viene dado por la serpiente sino por la serie de comedia británica “Monty Python’s Flying Circus” que se emitió en la BBC durante la década de 1970 y Van Rossum solía verlo mientras desarrollaba el lenguaje. Además, estaba buscando un nombre que fuera corto y misterioso, por lo que se quedó con este.
A diferencia de otros lenguajes de programación, Python no admite punteros.
En algunos sitios opinan que esto complica mucho la legibilidad del programa por lo que va en contra de lo que se buscab con este lenguaje pero no hay ninguna version oficial que respalde esto.
Como última curiosidad, en 2015, se llevaron a cabo unas estadísticas que revelaron que 6 de cada 10 padres preferían que sus hijos aprendieran Python en lugar de francés.
La encuesta, que incluyó a 3,000 personas (1,000 niños entre 5 a 11 años; 1,000 de 11 a 16 años y otros 1,000 padres), fue encargada por Ocado Technology para evaluar el progreso realizado desde que se introdujo el nuevo plan de estudios de Computación hace exactamente un año
INSTAGRAM
PINTEREST: El motor de la plataforma web está completamente escrito con el lenguaje de programación Python
DROPBOX: casi el 100% del código de Dropbox está escrito con Python
BATTLEFIELD 2: está completamente desarrollado con Python, desde el motor de juego hasta parte de las animaciones
FACEBOOK: Python es actualmente responsable de múltiples servicios en gestión de infraestructura
SPOTIFY
NETFLIX: utiliza Python para automatizar tareas, para explorar datos y limpieza, junto a otros usos de visualización. Ademas de en algoritmos de recomendacion o algoritmos de marketing