Actualizado el 25 de Noviembre del 2018 (Publicado el 14 de Enero del 2017)
3.183 visualizaciones desde el 14 de Enero del 2017
3,1 MB
77 paginas
Creado hace 19a (16/11/2005)
[Contenido] 1. Introducción :: 2. Intérprete :: 3. Conceptos Básicos
Índice de Contenidos :.
Introducción :: 1
Intérprete :: 2
Conceptos Básicos :: 3
Estructuración de código :: 4
Programación OO :: 5
Pygame :: 6
Scripting Python – C :: 7
Referencias :: 8
Sesión 3 :: Transp. 2
[Contenido] 1. Introducción :: 2. Intérprete :: 3. Conceptos Básicos
¿Qué es Python? :.
● Python no es un lenguaje únicamente de consola.
● Python es potente y rápido.
● Python es muy sencillo.
● Python está en continuo crecimiento.
Sesión 3 :: Transp. 3
[Contenido] 1. Introducción :: 2. Intérprete :: 3. Conceptos Básicos
Características I :.
● Alto nivel
● Interpretado
● Interactivo
● Orientado a objetos
● OpenSource(certificación OSI)
- copyright pero su uso no tiene restricciones
- compatible licencia GPL a partir de versión 2.1.1
Sesión 3 :: Transp. 4
[Contenido] 1. Introducción :: 2. Intérprete :: 3. Conceptos Básicos
Características II :.
● Extensible
- C / C++ / Fortran
- Java( utilizando Jython)
● Encastrable en aplicaciones
● Multiplataforma. Portable.
Unix/Linux, Windows, Mac, PalmOS, WindowsCE, RiscOS, VxWorks, QNX,
OS/2, OS/390, AS/400, PlayStation, Sharp Zaurus, BeOS, VMS…
● Seguro(no: “core dumps”, “segmentation fault” )
● Rápido y cómodo
Sesión 3 :: Transp. 5
[Contenido] 1. Introducción :: 2. Intérprete :: 3. Conceptos Básicos
Propiedades del Lenguaje :.
● Cualquier elemento es un objeto
● Paquetes, módulos, clases, funciones
● Manejo de excepciones
● Tipado dinámico, polimorfismo
● Tipado fuerte
● Sobrecarga de operadores
● Bloques estructurales identificados por tabulación
● Sensible a mayúsculas/minúsculas
Sesión 3 :: Transp. 6
[Contenido] 1. Introducción :: 2. Intérprete :: 3. Conceptos Básicos
¿Para que se utiliza? :.
● Prototipado rápido
● Programación Web(tanto en cliente como en servidor)
● Scripting
● En aplicaciones científicas
● Procesamiento de XML
● Aplicaciones de bases de datos
● Aplicaciones GUI
● Educación
Sesión 3 :: Transp. 7
[Contenido] 1. Introducción :: 2. Intérprete :: 3. Conceptos Básicos
Interfaces con... :.
● XML
● DOM
● XMLRPC, SOAP, Web Services
● Bases de datos relacionales
● MySQL, PostgreSQL, Oracle , ODBC, Sybase, Informix
● Java (via Jython)
● Objective C
● COM, DCOM (.NET también)
● Muchas librerías GUI
● Multiplataforma(Tk, wxWindows, GTK, Qt)
● Específicas de plataforma(MFC, Mac (classic, Cocoa), X11
Sesión 3 :: Transp. 8
[Contenido] 1. Introducción :: 2. Intérprete :: 3. Conceptos Básicos
Arquitectura de Python :.
Script Fuente
Modulo Fuente
Extensión C/C++
Extensión
C/C++
Librería
C/C++
Externa
Compilador
Python
Bytecode
Compilado
¿Disponible
módulo
compilado?
Máquina
Virtual Python
Sentencia Import
Salida
Sesión 3 :: Transp. 9
[Contenido] 1. Introducción :: 2. Intérprete :: 3. Conceptos Básicos
Python vs. otros lenguajes I :.
Sesión 3 :: Transp. 10
[Contenido] 1. Introducción :: 2. Intérprete :: 3. Conceptos Básicos
Python vs. otros lenguajes II :.
Java
class Hola {
public static void main(String argumentos[ ]){
System.out.println("Hola, mundo");
}
}
C
void main(){
printf ("Hola, mundo");
}
Pascal
Program Hola;
Begin
writeln('Hola, mundo');
End.
Python
print 'Hola, mundo'
Sesión 3 :: Transp. 11
[Contenido] 1. Introducción :: 2. Intérprete :: 3. Conceptos Básicos
Python vs. otros lenguajes III :.
● Escribir programas en Python requiere menos de la mitad de tiempo
que en Java, C o C++.
● El código resultante es la mitad de largo.
● No hay diferencias en la fiabilidad de los programas.
● El consumo de memoria es alrededor del doble frente a C y C++. Java
consume alrededor del doble de Python.
● El código en Python es más rápido que en Java.
● Los lenguajes de script más rápidos son Python y Perl.
● La variación en rendimiento de los programas se debe más a los
programadores que a los lenguajes.
Sesión 3 :: Transp. 12
[Contenido] 2. Intérprete :: 3.Conceptos Básicos :: 4. Estructuración
¿Qué es un intérprete? :.
● Aquel programa que recibe como entrada un programa
escrito en lenguaje no máquina y lo convierte a código
máquina ejecutable por el computador.
● Ejecución secuencial de instrucciones
● No generación de ejecutables
● Portabilidad: cambiando el intérprete no el código...
Sesión 3 :: Transp. 13
[Contenido] 2. Intérprete :: 3.Conceptos Básicos :: 4. Estructuración
Instalación :.
Windows:
Selección del directorio de destino
Si/No copia de seguridad de archivos reemplazados
Seleccionar componentes
...
URL de descarga:
http://www.python.org
Linux:
Red Hat : rpm
Debian: apt-get install python
...
Source: python-2.X.tgz
tar -zxvf python-2.X.tgz
"./configure", "make", "make install"
Sesión 3 :: Transp. 14
[Contenido] 2. Intérprete :: 3.Conceptos Básicos :: 4. Estructuración
Primera toma de contacto... :.
● Iniciar intérprete:python
python fichero.py
● Salir del intéprete:
Unix: Ctrl-D ó Ctrl-Z
Windows: Ctrl-Z + return
En ambos: “ import sys; sys.exit() ”
● Modo interactivo: “>>>”
“...”
● Gestión de errores
Ejemplo A:
>>> x = 1
>>> if x:
...
...
print “hola mundo”
Ejemplo B: Como calculadora
Sesión 3 :: Transp. 15
[Contenido] 3.Conceptos Básicos :: 4. Estructuración de código
Sintaxis :.
● ¡Sin delimitadores de bloque! ⇨Tabuladores
● Esto obliga a “código sangrado”
● La instrucción termina con la línea (salvo uso “\”)
● Uso de “:” como separador de sentencias compuestas.
● Uso de “;” para separar sentencias en la misma línea.
● Recolector de Basura: Uso del “Contador de
Referencias”.
●
Sesión 3 :: Transp. 16
[Contenido] 3.Conceptos Básicos :: 4. Estructuración de código
Variables :.
● “Nacen” cuando se les asigna valor
● “Desaparecen” cuando se sale de su ámbito
● Peligros:
- utilizar variables sin valor previamente asignado
- se tiene la variable i = 5 y se cometer el error de j=7
cuando se quiere i=7... Se crea una nueva variable
● Recordar: Python es sensible a mayúsculas/minúsculas
Sesión 3 :: Transp. 17
[Contenido] 3.Conceptos Básicos :: 4. Estructuración de código
Tipos de Datos I :.
● Numéricos
● Enteros (32 bits)
● Enteros Largos
● Reales
● Complejos
● Secuencia
● Cadenas
● Listas
● Tuplas
●Diccionarios
Sesión 3 :: Transp. 18
[Contenido] 3.Conceptos Básicos :: 4. Estructuración de código
Tipos de Datos II :.
● Numéricos
● Enteros (32 bits)
● Enteros Largos
● Reales
● Complejos
● Secuencia
● Cadenas
● Listas
● Tuplas
●Diccionarios
● Operaciones: + - * / **
● Paréntesis para agrupaciones
● Trunca la división entera
>>>1 / 2 >>>1.0 / 2.0
0
0.5
● La división entera retorna el valor “suelo”
>>>7 / 3 >>>7 / -3
2 -3
Sesión 3 :: Transp. 19
[Contenido] 3.Conceptos Básicos :: 4. Estructuración de código
Tipos de Datos III :.
● Numéricos
● Enteros (32 bits)
● Enteros Largos
● Reales
● Complejos
● Secuencia
● Cadenas
● Listas
● Tuplas
●Diccionarios
● Tamaño arbitrario
● “L”
● Ejemplos:
>>>2L * 100
200L
>>>2L ** 50
1125899906842624L
>>>123456789987654321123456789 * 2
246913579975308642246913578L
Sesión 3 :: Transp. 20
[Contenido] 3.Conceptos Básicos :: 4. Estructuración de código
Tipos de Datos IV :.
● Numéricos
● Enteros (32 bits)
● Enteros Largos
● Reales
● Complejos
● Secuencia
● Cadenas
● Listas
● Tuplas
●Diccionarios
● Soporte completo para punto flotante
>>>2.20 / 5.0
0.44000000000000006
>>>10. * ( 3.5 / 2.)
17.5
● Operaciones con operadores mixtos se
convierten a punto flotante:
>>>3 * 4.78 / 3.
4.7800000000000002
>>>9.75 / 4
2.4375
Sesión 3 :: Transp. 21
[Contenido] 3.Conceptos Básicos :: 4. Estructuración de código
Tipos de Datos V :.
● Numéricos
● Enteros (32 bits)
● Enteros Largos
● Reales
● Complejos
● Secuencia
● Cadenas
● Listas
● Tuplas
●Diccionarios
● Sufijo parte imaginaria: “j” or “J”
● Formato: “(real+imagj)”
● Función complex(real,imag)
>>>1j + 4J
5j
>>>4j * 10j
(-40+0j)
>>> 4+5j / 3J
(5.666666666666667+0j)
>>> 1j * complex(1,1)
(-1+1j)
Sesión 3 :: Transp. 22
[Contenido] 3.Conceptos Básicos :: 4. Estructuración de código
Tipos de Datos VI :.
● Numéricos
● Enteros (32 bits)
● Enteros Largos
● Reales
● Complejos
● Secuencia
● Cadenas
● Listas
● Tuplas
●Diccionarios
● Representados como números en punto
flotante. Ejemplo:
>>> a = 1.5 + 0.5j
>>> a.real
1.5
>>> a.imag
0.5
● Funciones de conversión:
● float()
● int()
● long()
Sesión 3 :: Transp. 23
[Contenido] 3.Conceptos Básicos :: 4. Estructuración de código
Tipos de Datos VII :.
● Definidos por:
● Numéricos
● Enteros (32 bits)
● Enteros Largos
● Reales
● Complejos
● Secuencia
● Cadenas
● Listas
● Tuplas
●Diccionarios
Sesión 3 :: Transp. 24
[Contenido] 3.Conceptos Básicos :: 4. Estructuración de código
Tipos de Datos VIII :.
● Numéricos
● Enteros (32 bits)
● Enteros Largos
● Reales
● Complejos
● Secuencia
● Cadenas
● Listas
● Tuplas
●Diccionarios
● Operaciones:
“hola”+“mundo” ‘hola mundo’ Concatenación
“hola”*2 ‘holahola’ Repetición
“hola”[0] ‘h’ Indexado positivo
“hola”[-1] ‘a’ Indexado negativo
“hola”[1:3] ‘ol’ Particionado
“hola”[:2] ‘ho’
“hola”[1:] ‘ola’
‘h’+‘ola’[:2] ‘hol’
len(“hola”) 4 Longitud
“hola” < “lola” true Comparación
‘o’ in “hola” true Búsqueda
Sesión 3 :: Transp. 25
[Contenido] 3.Conceptos Básicos :: 4. Estructuración de código
Tipos de Datos IX :.
● Numéricos
● Enteros (32 bits)
● Enteros Largos
● Reales
● Complejos
● Secuencia
● Cadenas
● Listas
● Tuplas
●Diccionarios
● Agrupaciones de elementos de cualquier tipo
>>>a =[“hola”,100,’j’,“mundo”]
● Los mismos operadores que para las cadenas
● Indexado y particionado
● Ejemplos:
>>>a[0] = 96
>>>a[1:2] = [“hola”,”mu
Comentarios de: sesión 3 - Lenguajes de Script (0)
No hay comentarios