Introducción

De WikiEducator
Saltar a: navegación, buscar



¿Python?



Icon key points.gif

¿Por qué es distinto?

  • Interpretado, pero compilado a bytecode.
  • Tipado dinámico, pero fuertemente tipado
  • Multiplataforma
  • Orientado a objetos
  • Sintáxis sencilla pero muy robusta.
  • Fácil de escribir, de leer y de mantener.
  • Muy potente (baterías incluidas) y gran soporte.
  • Más ... para abrir el apetito: http://docs.python.org.ar/tutorial/appetite.html
  • Importancia creciente de python en la educación.







Instalación



Icon inter.gif

Echa un vistazo

Guía de instalación y uso: http://docs.python.org/using/index.html (en inglés)




Icon activity.jpg

Actividad

  • Comprueba que está instalado python en el sistema (¿qué versión?)
  • Si no está instalado, descarga e instala la última versión estable de la rama 2.x





Mi primer programa

Herramientas para programar



Icon inter.gif

Recursos de la Web

Listado completo de recursos disponibles: http://wiki.python.org/moin/IntegratedDevelopmentEnvironments


Nosotros vamos a ir utilizando diferentes entornos de desarrollo a lo largo del curso.

El intérprete

>>> print "Hola, mundo"
Hola, mundo
>>> impuesto = 12.5 / 100
>>> precio = 100.50
>>> precio * impuesto
12.5625
>>> precio + _
113.0625
>>> round(_, 2)
113.06

Un programa que hace algo

  1. # No declaramos variables, ponemos nombres a objetos
  2. coches = 100
  3. capacidad_coche = 4.0
  4. conductores = 30
  5. pasajeros = 90
  6. coches_no_conducidos = coches - conductores
  7. coches_conducidos = conductores
  8. capacidad_real = coches_conducidos * capacidad_coche
  9. media_pasajeros_coche = pasajeros / coches_conducidos
  10.  
  11. print "Hay", coches, "coches disponibles."
  12. print "Tenemos sólo ", conductores, "conductores disponibles."
  13. print "Habrá", coches_no_conducidos, "coches vacíos hoy."
  14. print "Podemos transportar", capacidad_real, "personas hoy."
  15. print "Tenemos", pasajeros, "pasajeros para transportar."
  16. print "Tenemos que poner una media de", media_pasajeros_coche, "por coche hoy."

Operaciones con números

Las básicas como en otros lenguajes. Operaciones matemáticas import math. Observa:

>>> 10 ** 10
10000000000L

Cadenas

Inmutables. iterables. Cadenas de bytes y unicode.

>>> nombre = 'Luis'
>>> nombre.upper()
'LUIS'
>>> nombre
'Luis'
>>> nombre[0] = 'l'

Traceback (most recent call last):
  File "<pyshell#13>", line 1, in <module>
    nombre[0] = 'l'
TypeError: 'str' object does not support item assignment

Lectura interactiva

  1. nombre = raw_input('Introduzca su nombre: ')
  2. edad = raw_input('Introduzca la edad: ')
  3. edad = int(edad)

Control de flujo

if

  1. edad = int(raw_input('Introduce tu edad: '))
  2. if edad < 18:
  3.     print 'Menor de edad'
  4. else:
  5.     print 'Mayor de edad'

No hay instrucción switch

for

>>> for letra in 'Me llamo Luis':
        print letra,

M e   l l a m o   L u i s

range

>>> range(5, 10)
[5, 6, 7, 8, 9]
>>> range(0, 10, 3)
[0, 3, 6, 9]
>>> range(-10, -100, -30)
[-10, -40, -70]

Para repetir 10 veces algo:

  1. for x in range(10):
  2.     print 'Hola'

Estructuras de datos

Listas

Tuplas

Diccionarios