PDF de programación - sesión 3 - Lenguajes de Script

Imágen de pdf sesión 3 - Lenguajes de Script

sesión 3 - Lenguajes de Scriptgráfica de visualizaciones

Actualizado el 25 de Noviembre del 2018 (Publicado el 14 de Enero del 2017)
1.807 visualizaciones desde el 14 de Enero del 2017
3,1 MB
77 paginas
Creado hace 15a (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
  • Links de descarga
http://lwp-l.com/pdf1261

Comentarios de: sesión 3 - Lenguajes de Script (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad