Вы находитесь на странице: 1из 50

| p   

| 
  
|     
I
V Python es un lenguaje de programación de
alto nivel, interpretado, interactivo y de
propósito general.
V Se desarrolla como un proyecto de código
abierto.
V Permite dividir el programa en módulos
reutilizables desde otros programas Python.
V El principal objetivo que persigue este
lenguaje es la facilidad, tanto de lectura, como
de diseño.
V uhorra un tiempo considerable en el
desarrollo del programa, pues no es necesario
compilar ni enlazar.
V El intérprete se puede utilizar de modo
interactivo, lo que facilita experimentar con
características del lenguaje, escribir
programas desechables o probar funciones
durante el desarrollo del programa.
4 _    uando su léxico y estructuras
son mucho más cercanas a los lenguajes
humanos que al lenguaje que el ordenador es
capaz de comprender.
4 2
  Significa que es un lenguaje que
no requiere proceso de compilación y por ello
no produce archivos binarios o ejecutables.
4 2   uando un lenguaje interpretado
es además interactivo significa que existe la
posibilidad de manipular directamente la
ejecución de los scripts en cualquier instante
de la misma.
4 _

    uando un lenguaje de
programación es lo suficientemente
polivalente como para llevar a cabo cualquier
tarea relacionada con un ordenador.
   multiparadigma: orientado
a objetos, imperativo,
funcional

    1991
_  
  Guido van Rossum
   3.1.1 (17 de agosto de
2009)

   fuertemente tipado,
dinámico
2
     CPython, Jython,
IronPython, PyPy
_  Stackless Python, RPython
2 
  u C, Tcl, Perl, Modula-3,
Smalltalk, uGO 68, C,
Haskell, Icon, isp, Java
  Ruby, oo, Groovy, Cobra, D
 
 Multiplataforma
     Python Software
Foundation icense
I

V 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:
V Programación orientada a objetos.
V Programación estructurada.
V Programación funcional.
V a
           o 
es un paradigma de programación que usa
objetos y sus interacciones para diseñar
aplicaciones y programas de ordenador.
V Está basado en varias técnicas, incluyendo
herencia, modularidad, polimorfismo y
encapsulamiento.
V a
         es una forma
de escribir programas de ordenador
(programación de computadora) de manera
 .
V Para ello utiliza únicamente tres estructuras:
secuencia, selección e iteración; siendo
innecesario el uso de la instrucción o
instrucciones de transferencia incondicional.
V a
      es un paradigma
de programación declarativa basado en la
utilización de funciones matemáticas.
V El objetivo es conseguir lenguajes expresivos y
j j j   , en los que no
sea necesario bajar al nivel de la máquina para
describir el proceso llevado a cabo por el
programa, y evitando el concepto de  

del cómputo.
I
V sa tipo de dato dinámico y reference
counting para la utilización de la memoria.
V na característica importante 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).
V Otro objetivo del diseño del lenguaje era la
facilidad de extensión.
V Python puede incluirse en aplicaciones que necesitan
una interfaz programable.

V El intérprete de Python estándar incluye un modo


interactivo, en el cual se escriben las instrucciones en
una especie de shell: las expresiones pueden ser
introducidas una a una, pudiendo verse el resultado de
su evaluación inmediatamente.

V Se pueden probar porciones de código en el modo


interactivo antes de integrarlo como parte de un
programa.
V Existen otros programas, tales como IDE e
IPython, que añaden funcionalidades extra al
modo interactivo, como el auto-completar código
y el coloreado de la sintaxis del lenguaje.

Ejemplo del modo interactivo:

>>> 1+1
2
>>> a = range(10)
>>> print a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
I
V 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:
os operadores lógicos || y && en Python se escriben
or y and, respectivamente.
V En vez de delimitar los bloques de código mediante el
uso de llaves ({}), Python utiliza la indentación. Esto
hace que la misma sea obligatoria, ayudando a la
claridad y consistencia del código escrito (incluso entre
varios desarrolladores):
á      á     

int factorial(int x) def factorial(x):


{ if x == 0:
if (x == 0) return 1
return 1; else:
else return x * factorial(x-1)
return x*factorial(x - 1);
}
def factorial(n):
return 1 if n==0
else
n*factorial(n-1)
I
V os comentarios se inician con el símbolo #, y
se extienden hasta el final de la línea.

# -*- coding: utf-8 -*-# Comentario en una


línea en Python.print('Hola mundo') #

V También es posible añadir un comentario


después de una línea de código
I
V as variables se definen de forma dinámica.
El signo igual (=) se usa para asignar valores a
las variables:
x = 1x = 'texto' #
Esto es posible porque los tipos son asignados
dinámicamente

   ! 

str String Inmutable 'Integrador'
Versión nicode
unicode String u'Integrador'
de str
Mutable, puede
list Secuencia contener diversos [4.0, 'string', True]
tipos
tuple Secuencia Inmutable (4.0, 'string', True)
Mutable, sin
orden, no set([4.0, 'string',
set Conjunto
contiene True])
duplicados
Inmutable, sin
orden, no frozenset([4.0,
frozenset Conjunto
contiene 'string', True])
duplicados
Grupo de pares {'key1': 1.0, 'key2':
dict Mapping
clave, valor False}
Precisión fija,
int Número entero convertido en   42
en caso de overflow.
42 ó
long Número entero Precisión arbitraria 4569667861519876
43
Número decimal coma flotante de
float 3.1415927
representado en doble precisión
Valor booleano
bool ooleano True o False
verdadero o falso

V Mutable: si su contenido (o dicho valor) puede


cambiarse en tiempo de ejecución.
V Inmutable: si su contenido no puede cambiarse
en tiempo de ejecución.
V Para declarar una   es recomendable usar
los paréntesis (). En ambas los elementos se
separan por comas.
V Tanto las   como las   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.
V Para acceder a los elementos de una   o   ,
se utiliza un índice entero. Se pueden utilizar
índices negativos para acceder elementos a partir
del final.
V as   se caracterizan por ser mutables, es
decir, se puede cambiar su contenido, mientras
que no es posible modificar el contenido de una
  ya creada, puesto que es inmutable.
Ejemplo:
>>> lista = ['aaa', 1, 90]
>>> lista[-1]
90
>>> lista[0] = 'xyz͚
>>> lista[0:2]['xyz', 1]
>>> tupla = (1, 2, 3)
>>> tupla[0] = 2 ( genera un error )
>>> tupla[0]
1
>>> otratupla = (tupla, ('a', 'b')) # es posible anidar tuplas
>>> 1, 2, 3, 'a' # Esto también es una tupla, aunque es recomendable ponerla
entre paréntesis>>> (1) # uunque entre paréntesis, esto en cambio no es
una tupla, ya que no posee una coma tras el elemento
>>> (1,) # En cambio, en este otro caso, sí.
>>> (1, 2) # Con más de un elemento no es necesaria la coma final...
>>> (1, 2,) # ...aunque agregarla no modifica el resultado. Esta tupla es igual a
la anterior.
V os diccionarios se declaran entre llaves ({}), y
contienen elementos separados por comas,
donde cada elemento está formado por un
par   :    (el símbolo : separa la clave
de su valor correspondiente).
Ejemplo:
>>> # Ejemplo de como llamamos a valores en
un diccionario mediante su clave. a clave la
pondremos entre un corchete abierto "[" y un
corchete cerrado "]". Esto nos devolverá el
valor.
>>> mi_diccionario = {"coche": "rojo", "mesa":
"marron"}
>>> mi_diccionario['coche']'rojo͚
>>> mi_diccionario['mesa']'marron'
V os diccionarios son mutables.
V El valor de un diccionario puede ser de cualquier tipo.
n string ("casa"), un int (2), una lista ([1, 2, 3]), o
incluso un diccionario.
V En cambio, la clave en los diccionarios debe ser
inmutable. Esto quiere decir, por ejemplo, que no
podremos usar ni listas ni diccionarios como claves.
V Cabe señalar, que los diccionarios al igual que las listas,
al ser mutables, compartirán los cambios realizados,
independientemente del nombre de la variable que
usemos para referirnos a ellos.
V Cuando este comportamiento no sea el deseado, se
puede hacer una copia del diccionario usando su
método copy.
V os conjuntos se construyen mediante
set(items) donde j es cualquier objeto
iterable. os conjuntos no mantienen el orden
ni contienen elementos duplicados.

>>> conj = set(['a','b','a'])


>>> print conjset(['a','b'])
V as 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 isp).

>>> f = lambda x: x+2


>>> f(4)
6
V Existen muchas propiedades que se pueden
agregar al lenguaje importando módulos, que son
minicódigos (la mayoría escritos también en
Python) que llaman a los recursos del sistema.
Ejemplos:
El módulo Tkinter, que permite crear interfaces
gráficas que incluyan botones, cajas de texto, y
muchas cosas que vemos habitualmente en el
sistema operativo.
El módulo que permite manejar el sistema
operativo desde el lenguaje. os módulos se
agregan a los códigos escribiendo import seguida
del nombre del módulo que queramos usar. En
este código se muestra como apagar el
ordenador desde Windows.

apagar = "shutdown /s͞


import os
os.system(apagar)
V En Python, todo es un objeto (incluso las
clases). as clases, al ser objetos, son
instancias de una metaclase. Python además
soporta herencia múltiple y polimorfismo.
V Python tiene una gran biblioteca estándar, usada para
una diversidad de tareas.
V Esto viene de la filosofía "pilas incluidas" (ƒ 


ƒ) en referencia a los módulos de Python.
V os módulos de la biblioteca estándar pueden
mejorarse por módulos personalizados escritos tanto
en C como en Python.
V Debido a la gran variedad de herramientas incluidas en
la biblioteca estándar combinada con la habilidad de
usar lenguajes de bajo nivel como C y C++, los cuales
son capaces de interactuar con otras bibliotecas,
Python es un lenguaje que combina su clara sintaxis
con el inmenso poder de lenguajes menos elegantes.
Python posee diversas implementaciones:

V Cpython: Es la implementación original, disponible para


varias plataformas en el sitio oficial de Python.

V IronPython: Es la implementación para .NET


Es un lenguaje de programación que desde este paquete
puede ser utilizado en aplicaciones Web creadas bajo
uSP.NET
Microsoft IronPython alcanza los medios para programar
con IronPython mediante Visual Studio 2005 incluyendo la
edición Express.
V Stackless Python: Es la variante de CPython que trata de no usar el
  de C (www.stackless.com)

V Jython: Es un lenguaje de programación de alto nivel, dinámico y


orientado a objetos basado en Python e implementado
íntegramente en Java.
Es un proyecto de código libre.

V Pippy: Es la implementación realizada para Palm


(pippy.sourceforge.net)

V PyPy: E  es un intérprete y compilador para el lenguaje Python,


escrito en el mismo lenguaje
V Python posee una licencia de código abierto,
denominada Py      
 
 , que es compatible con la licencia GP
a partir de la versión 2.1.1, e incompatible en
ciertas versiones anteriores. Esta licencia no
obliga a liberar el código fuente al distribuir
los archivos binarios.
V ! 
V 2_
V ! El Stani͛s Python Editor es un editor
interesante, que integra wxGlade (diseñador
de GIs libre para WxPython).
V U2 : Este es para muchos el mejor IDE de
Python que hay. Es un IDE comercial que
dispone de 3 versiones.
V Soporta toda la Programación Estructurada.

V Soporta gran parte de la Programación Orintada


a Objetos.

V Tiene un buen soporte de la Programación


Funcional.
V Es simple implementar estructuras de la
Programación asadas en Restricciones (o por
Contratos, como la definió ertrand Meyer).

V n gran soporte de tecnologías (a diferencia de


Ruby que es muy buen lenguaje, probablemente
mejor que Python pero esta parte es definitoria
a la hora de trabajar profesionalmente).
V Con Python se pueden hacer muchas cosas de
una manera tan fácil, ágil y rápida.

V ul ser tipado dinámico no hay que


preocuparse de cuantas variables declarar,
aunque el tipo en ciertas ocasiones importa,
sobre todo teniendo en cuenta la diferencia
entre input y raw_input.
V Hay características muy propias de Python que
no se ven en otros lenguajes y que lo hacen
único.
V No tiene costo alguno, además de ser código
abierto.
V Python se puede integrar al visual studio .net,
pero seria encarcelar y encartonar a python en
Windows, además de limitarlo en su
característica multiplataforma que es una de
las cosas mas interesantes
  
     "    
"
    
 
#
  
      $ 
!     

Вам также может понравиться