domingo, 21 de noviembre de 2010

Python

Python es un lenguaje de programación multiparadigma. Esto significa 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. Otros paradigmas están soportados mediante el uso de extensiones.
Python usa tipado dinámico y conteo de referencias para la administración de memoria.
Una característica importante de Python es la resolución dinámica de nombres; es decir, lo que enlaza un método y un nombre de variable durante la ejecución del programa (también llamado ligadura dinámica de métodos).
Otro objetivo del diseño del lenguaje es la facilidad de extensión. Se pueden escribir nuevos módulos fácilmente en C o C++. Python puede incluirse en aplicaciones que necesitan una interfaz programable.
Python fue diseñado para ser leído con facilidad. Entre otras cosas se utilizan palabras en inglés donde otros lenguajes utilizarían símbolos (por ejemplo, los operadores lógicos !, | |  y && en Python se escriben not, or y and, respectivamente).
Los comentarios se inician con el símbolo #, y se extienden hasta el final de la línea. El intérprete no toma en cuenta los comentarios, lo cual es útil si deseamos poner información adicional en nuestro código como, por ejemplo, una explicación sobre el comportamiento de una sección del programa.

Tipos de datos

Los tipos de datos se pueden resumir en esta tabla:
TipoClaseNotasEjemplo
strCadenaInmutable'Cadena'
unicodeCadenaVersión Unicode de stru'Cadena'
listSecuenciaMutable, puede contener objetos de diversos tipos[4.0, 'Cadena', True]
tupleSecuenciaInmutable, puede contener objetos de diversos tipos(4.0, 'Cadena', True)
setConjuntoMutable, sin orden, no contiene duplicadosset([4.0, 'Cadena', True])
frozensetConjuntoInmutable, sin orden, no contiene duplicadosfrozenset([4.0, 'Cadena', True])
dictMappingGrupo de pares clave:valor{'key1': 1.0, 'key2': False}
intNúmero enteroPrecisión fija, convertido en long en caso de overflow.42
longNúmero enteroPrecisión arbitraria42L ó 456966786151987643L
floatNúmero decimalComa flotante de doble precisión3.1415927
boolBooleanoValor booleano verdadero o falsoTrue o False

  • Mutable: si su contenido (o dicho valor) puede cambiarse en tiempo de ejecución.
  • Inmutable: si su contenido (o dicho valor) no puede cambiarse en tiempo de ejecución.


Listas y Tuplas

  • Para declarar una lista se usan los corchetes [ ], en cambio, para declarar una tupla se usan los paréntesis ( ). En ambas los elementos se separan por comas, y en el caso de lastuplas es necesario que tengan como mínimo una coma.
  • Tanto las listas como las tuplas pueden contener elementos de diferentes tipos. No obstante las listas suelen usarse para elementos del mismo tipo en cantidad variable mientras que las tuplas se reservan para elementos distintos en cantidad fija.
  • Para acceder a los elementos de una lista o tupla se utiliza un índice entero (empezando por "0", no por "1"). Se pueden utilizar índices negativos para acceder elementos a partir del final.
  • Las listas se caracterizan por ser mutables, es decir, se puede cambiar su contenido en tiempo de ejecución, mientras que las tuplas son inmutables ya que no es posible modificar el contenido una vez creada.

Funciones

  • Las funciones se definen con la palabra clave def, seguida del nombre de la función y sus parámetros. Otra forma de escribir funciones, aunque menos utilizada, es con la palabra clave lambda (que aparece en lenguajes funcionales como Lisp).
  • El valor devuelto en las funciones con def será el dado con la instrucción return.

Ejemplo:
El siguiente ejemplo trata sobre la serie de Fibonacci.
este programa calcula los primeros 20 números de la serie:


Ejecutamos el programa.....



Bibliografia

1 comentario: