Python Intro
Python Intro
https://repo.anaconda.com/archive/Anaconda3-2020.07-Windows-x86_64.exe
https://www.python.org/ftp/python/3.7.9/python-3.7.9.exe
2
ESTRUCTURA Y ELEMENTOS DEL LENGUAJE
Python
Es un lenguaje con identacion
Por ejemplo, en C
int factorial(int x)
{
if (x < 0 || x % 1 != 0){
printf("x debe ser un numero entero mayor o igual a 0");
return -1; //Error
}
else if (x == 0)
return 1;
else
return x * factorial(x - 1);
}
En Python
def factorial(x):
assert x >= 0 and x % 1 == 0, "x debe ser un entero mayor o igual a 0."
if x == 0:
return 1
else:
return x * factorial(x - 1)
www.robotechnics.es 3
CURSO DE INTRODUCCIÓN A PYTHON 16
ESTRUCTURA Y ELEMENTOS DEL LENGUAJE
Python
Es un lenguaje Open Source, del que existen diversas implementaciones del lenguaje:
CPython es la implementación original (realizada en C), disponible para varias plataformas en
el sitio oficial de Python.
IronPython es la implementación para .NET
Jython es la implementación hecha en Java
Todo lo que puedes hacer con Java también lo puedes hacer con Python
Incluso puedes acceder a través de Python a las API de Java si usas Jython
(http://www.jython.org)
www.robotechnics.es 4
CURSO DE INTRODUCCIÓN A PYTHON 17
ESTRUCTURA Y ELEMENTOS DEL LENGUAJE
Introducción a Python
Python tiene tipado dinámico de las variables:
En Java, por ejemplo, escribiríamos:
String c = "Hola Mundo";
int e = 23;
La variables son objetos que apuntan a una dirección de memoria. Cuando se cambian de forma
dinámica, el mismo objeto apunta a otra dirección y la dirección antigüa se borra automáticamente
www.robotechnics.es 5
CURSO DE INTRODUCCIÓN A PYTHON 18
ESTRUCTURA Y ELEMENTOS DEL LENGUAJE
Introducción a Python: Paradigmas de programación
Existen decenas de paradigmas de programación, los más importantes son:
• Procedural: En la programación procedural se le dan ordenes directas a la computadora, que van
cambiando el estado del programa. Ejemplo: BASIC
• Estructurada: Es un caso particular de programación procedural, la diferencia es que hay un flujo
ordenado (jerárquico) con alguna combinación de los siguientes elementos: Secuencias, selección
y repetición. Se reutilizan bloques de código y es relativamente fácil seguir la lógica del programa.
Ejemplo: C, Pascal.
• Orientada a objetos: Se usan estructuras de datos que tienen datos y métodos (objetos) con sus
interacciones para diseñar programas. Ejemplos: Java, C++
Python suele ser clasificado como "multiparadigma" debido a que puede ser usado tanto de
manera estructurada como orientado a objetos. Esto depende de las preferencias del
programador, no impone uno de los dos métodos
www.robotechnics.es 6
CURSO DE INTRODUCCIÓN A PYTHON 19
ESTRUCTURA Y ELEMENTOS DEL LENGUAJE
Diferencias entre Python 2.7 y 3.0
Print es una función en python 3
División de números enteros. print (3 / 2)
En Python 2 → = 1
En Python 3 → = 1.5
algo.next(), sin embargo en Python 3 solo se puede usar como función:
www.robotechnics.es 7
CURSO DE INTRODUCCIÓN A PYTHON 20
ESTRUCTURA Y ELEMENTOS DEL LENGUAJE
Diferencias entre Python 2.7 y 3.0
Manejo de Exepciones
www.robotechnics.es 8
CURSO DE INTRODUCCIÓN A PYTHON 21
ESTRUCTURA Y ELEMENTOS DEL LENGUAJE
Introducción a Python
• En windows: abrir ventana de terminal y poner
python mifichero.py (En Linux python3 mifichero.py)
Si no se ejecuta, es necesario comprobar las variables de entorno que es donde se buscan los
programas que se pueden ejecutar.
En la variable PATH hay que añadir el directorio donde esté el intérprete de Python
Normalmente:
Se añade con “;” + directorio y se cierra el terminal para que se actualice
Hemos invocado al intérprete para que coja el código fuente y lo ejecute
Previamente lo ha analizado para ver que cumple las reglas del lenguaje
Si se genera el código intérprete aparecerá el fichero: mifichero.pyc
www.robotechnics.es 9
CURSO DE INTRODUCCIÓN A PYTHON 22
ESTRUCTURA Y ELEMENTOS DEL LENGUAJE
Tipos de Datos
www.robotechnics.es 10
CURSO DE INTRODUCCIÓN A PYTHON 23
ESTRUCTURA Y ELEMENTOS DEL LENGUAJE
TIPOS DE DATOS
www.robotechnics.es 11
CURSO DE INTRODUCCIÓN A PYTHON 24
ESTRUCTURA Y ELEMENTOS DEL LENGUAJE
PALABRAS RESERVADAS EN PYTHON
www.robotechnics.es 12
CURSO DE INTRODUCCIÓN A PYTHON 25
ESTRUCTURA Y ELEMENTOS DEL LENGUAJE
Secuencia de Escape Significado
\newline Backslash and newline ignored
\\ Backslash (\)
\' Single quote (')
\" Double quote (")
\a ASCII Bell (BEL)
\b ASCII Backspace (BS)
\f ASCII Formfeed (FF)
\n ASCII Linefeed (LF)
\r ASCII Carriage Return (CR)
\t ASCII Horizontal Tab (TAB)
\v ASCII Vertical Tab (VT)
\ooo Character with octal value ooo
\xhh Character with hex value hh
www.robotechnics.es 13
CURSO DE INTRODUCCIÓN A PYTHON 26
ESTRUCTURA Y ELEMENTOS DEL LENGUAJE
Introducción a Python
• Ejercicio: Generar fichero de texto plano con nombre: mifichero.py
Contenido del programa
# esto es una cadena
c = "Hola Mundo"
d = 'Hola Mundo'
# y esto es un entero
e = 23
# podemos comprobarlo con la función type
print (type(c))
print (type(e))
'''
Esto en un comentario multipl2
'''
input()
OJO con la identación: No se pueden dejar espacios, tabulaciones etc a la derecha. No poner
caracteres especiales ni siguiera en las líneas de comentarios
www.robotechnics.es 14
CURSO DE INTRODUCCIÓN A PYTHON 27
ESTRUCTURA Y ELEMENTOS DEL LENGUAJE
www.robotechnics.es 15
CURSO DE INTRODUCCIÓN A PYTHON 28
ESTRUCTURA Y ELEMENTOS DEL LENGUAJE
TIPOS DE DATOS: Cadenas de texto
La codificación ASCII se definió en 1960 y se desarrolló para tecnologías de 8 bits.
ASCII estándar, concretamente, utiliza los 7 primeros bits para codificar la información y el número 8 es
el bit de paridad usado para controlar errores.
Con los 7 bits se diseñó un juego de 128 caracteres (en binario 2 elevado a 7), partiendo del carácter
identificado con el número 0 y terminando en el número 127.
www.robotechnics.es 16
CURSO DE INTRODUCCIÓN A PYTHON 29
TIPOS DE DATOS: Cadenas de texto ESTRUCTURA Y ELEMENTOS DEL LENGUAJE
www.robotechnics.es 17
CURSO DE INTRODUCCIÓN A PYTHON 30
ESTRUCTURA Y ELEMENTOS DEL LENGUAJE
TIPOS DE DATOS: Cadenas de texto
A lo largo del tiempo surgieron otras codificaciones hasta que la globalización y la necesidad de
intercambio de información en distintos sistemas y en diferentes idiomas hizo concentrar esfuerzos en
el desarrollo de un proyecto universal de codificación llamado Unicode.
www.robotechnics.es 18
CURSO DE INTRODUCCIÓN A PYTHON 31
ESTRUCTURA Y ELEMENTOS DEL LENGUAJE
www.robotechnics.es 19
CURSO DE INTRODUCCIÓN A PYTHON 32
ESTRUCTURA Y ELEMENTOS DEL LENGUAJE
TIPOS DE DATOS: Cadenas de texto
Concatenación
a = "uno"
b = "dos"
c = a + b # c es "unodos"
print(c)
c = a * 3 # c es "unounouno"
print(c)
www.robotechnics.es 20
CURSO DE INTRODUCCIÓN A PYTHON 33
ESTRUCTURA Y ELEMENTOS DEL LENGUAJE
TIPOS DE DATOS: Cadenas de texto
Concatenación
'''
''' Operaciones con variables y texto
'''
a=14
b=12
c = a+b
print(a+b)
print(a, "hola", b, '=', c)
print(a+ "hola"+ b+ '='+ c) → ERROR
www.robotechnics.es 21
CURSO DE INTRODUCCIÓN A PYTHON 34
ESTRUCTURA Y ELEMENTOS DEL LENGUAJE
TIPOS DE DATOS: Boolean
True, False → OJO → primera letra siempre en mayúsculas
– Importantes en expresiones
– Realmente representan 0 y 1
Para convertir a tipo Boolean:
bool(“True”)
'''
Operaciones con boolean
'''
a=1
b=0
print ("a=", a, " b= ", b)
print ("a and b -->", a and b)
print ("a or b -->", a or b)
www.robotechnics.es 22
CURSO DE INTRODUCCIÓN A PYTHON 35
CURSO DE PYTHON
Operadores Aritméticos
www.robotechnics.es 23
CURSO DE INTRODUCCIÓN A PYTHON 36
ESTRUCTURA Y ELEMENTOS DEL LENGUAJE
TIPOS DE DATOS: Operadores de comparación
Normalmente se usan en combinación con los Boolean
www.robotechnics.es 24
CURSO DE INTRODUCCIÓN A PYTHON 37
ESTRUCTURA Y ELEMENTOS DEL LENGUAJE
TIPOS DE DATOS: Operadores de incremento
''' a=23 --> 23
Operaciones con operadores de incremento a=a+1 --> 24
'''
a+=1 --> 25
a=23
print("a=23 -->", a)
a*=2 --> 50
a=a+1 a/=2 --> 25.0
print("a=a+1 -->", a) a-=1 --> 23.0
a+=1 a**=1 --> 529.0
print("a+=1 -->", a)
#a++ → ERROR
a*=2 #a=a*2
print("a*=2 -->", a)
a/=2 #a=a/2
print("a/=2 -->", a)
a-=2 #a=a-2
print("a-=1 -->", a)
a**=2 #a=a**2
print("a**=1 -->", a)
www.robotechnics.es 25
CURSO DE INTRODUCCIÓN A PYTHON 38
ESTRUCTURA Y ELEMENTOS DEL LENGUAJE
CONVERSIONES DE TIPO
a = 10
#print ("La variable a es: " + a )
print ("La variable a es: " + str(a)) # concatenamos en un string y luego
imprimimos
print ("La variable a es: ", a) # imprimimos una cadena y una variable (añade un
espacio por defecto)
b = 2.3
c = 9.7657522334
print (b, " es del tipo ", type(b))
print (c, " es del tipo ", type(c))
d= "345"
www.robotechnics.es 26
CURSO DE INTRODUCCIÓN A PYTHON 39
ESTRUCTURA Y ELEMENTOS DEL LENGUAJE
www.robotechnics.es 27
CURSO DE INTRODUCCIÓN A PYTHON 40
ESTRUCTURA Y ELEMENTOS DEL LENGUAJE
www.robotechnics.es 28
CURSO DE INTRODUCCIÓN A PYTHON 41
ESTRUCTURA Y ELEMENTOS DEL LENGUAJE
www.robotechnics.es 30
CURSO DE INTRODUCCIÓN A PYTHON 43
ESTRUCTURA Y ELEMENTOS DEL LENGUAJE
www.robotechnics.es 31
CURSO DE INTRODUCCIÓN A PYTHON 44
ESTRUCTURA Y ELEMENTOS DEL LENGUAJE
>>> x = 1234.56789
EL “PROBLEMA” DE LOS NÚMEROS CON >>> # Two decimal places of accuracy
>>> format(x, '0.2f')
COMA FLOTANTE '1234.57'
>>> # Right justified in 10 chars, one-digit accuracy
>>> format(x, '>10.1f')
' 1234.6'
you want to use exponential notation, change >>> # Left justified
the format to an >>> format(x, '<10.1f')
case you want used for the exponential '1234.6 '
>>> # Centered
specifier. For example: >>> format(x, '^10.1f')
>>> format(x, 'e') ' 1234.6 '
'1.234568e+03' >>> # Inclusion of thousands separator
>>> format(x, '0.2E') >>> format(x, ',')
'1.23E+03' '1,234.56789'
>>> format(x, '0,.1f')
'1,234.6'
>>>
www.robotechnics.es 32
CURSO DE INTRODUCCIÓN A PYTHON 45
ESTRUCTURA Y ELEMENTOS DEL LENGUAJE
www.robotechnics.es 33
CURSO DE INTRODUCCIÓN A PYTHON 46
34
35
36
37