PDF de programación - Python: descubre el poder del lenguaje scripting de moda en la comunidad open source

Imágen de pdf Python: descubre el poder del lenguaje scripting de moda en la comunidad open source

Python: descubre el poder del lenguaje scripting de moda en la comunidad open sourcegráfica de visualizaciones

Publicado el 5 de Agosto del 2017
922 visualizaciones desde el 5 de Agosto del 2017
798,5 KB
74 paginas
Creado hace 20a (22/03/2004)
Universidad de Deusto

. . . .

ESIDE

Python: descubre el poder del
lenguaje scripting de moda en la
comunidad open source

Dr. Diego Lz. de Ipiña Gz. de Artaza

http://paginaspersonales.deusto.es/dipina

Universidad de Deusto

. . . .

ESIDE

El otro lenguaje de programación
que empieza con 'P'

 Python fue creado por Guido van Rossum (

http://www.python.org/~guido/)
 Da este nombre al lenguaje inspirado por el
popular grupo cómico británico Monty Python

 Guido creó Python durante unas

vacaciones de navidad en las que (al
parecer) se estaba aburriendo

Universidad de Deusto

. . . .

ESIDE

Hola Mundo en Python

#!/usr/bin/env python
print "Hola Mundo" # "Hola Mundo"

print "hola", "mundo" # "hola mundo"

print "Hola" + "Mundo" # "HolaMundo"

Universidad de Deusto

. . . .

ESIDE

Características de Python I

 Muy legible y elegante

 Imposible escribir código ofuscado

 Simple y poderoso

 Minimalista: todo aquello innecesario no hay que escribirlo (;,

{, }, '\n')

 Muy denso: poco código hace mucho
 Soporta objetos y estructuras de datos de alto nivel: strings,

 Múltiples niveles de organizar código: funciones, clases,

listas, diccionarios, etc.

módulos, y paquetes

 Python standard library (

http://www.python.org/doc/current/lib/lib.html) contiene un sinfín
de clases de utilidad

 Si hay áreas que son lentas se pueden reemplazar por plugins
en C o C++, siguiendo la API para extender o empotrar Python
en una aplicación, o a través de herramientas como SWIG, sip
o Pyrex.

Universidad de Deusto

. . . .

ESIDE

Características de Python II

 De scripting

 No tienes que declarar constantes y variables antes de utilizarlas
 No requiere paso de compilación/linkage

 La primera vez que se ejecuta un script de Python se compila y

genera bytecode que es luego interpretado
 Alta velocidad de desarrollo y buen rendimiento

 Código interoperable (como en Java "write once run everywhere")
 Se puede utilizar en múltiples plataforma (más aún que Java)
 Puedes incluso ejecutar Python dentro de una JVM (Jython)

 Open source

 De propósito general

más

 Razón por la cual la Python Library sigue creciendo y creciendo

 Puedes hacer en Python todo lo que puedes hacer con C# o Java, o

Universidad de Deusto

. . . .

ESIDE

Peculiaridades sintácticas

 Python usa tabulación (o espaciado) para mostrar

estructura de bloques
 Tabula una vez para indicar comienzo de bloque
 Des-tabula para indicar el final del bloque

Código en C/Java

Código en Python

if (x) {
if (y) {
f1();
}
f2();
}

if x:
if y:
f1()
f2()

Universidad de Deusto

. . . .

ESIDE

Python vs. Perl

 Los dos están basados en un buen

entendimiento de las herramientas necesarias
para resolver problemas
 Perl está basado en awk, sed, and shell scripting y
su misión es hacer las tareas de administradores de
sistemas más sencillas

 Python está basado e inspirando por OOP (Object-

oriented programming)
 Guido van Rossum diseñó un lenguaje simple, poderoso, y

elegante orientado a la creación de sistemas a partir de
componentes

Universidad de Deusto

. . . .

ESIDE

Python vs. Java
 Java es un lenguaje de programación muy completo

que ofrece:
 Amplio abanico de tipos de datos
 Soporte para threads
 Strong typing
 Y mucho más ...

 Python es un lenguaje de scripting:

 No ofrece strong typing

 Bueno para prototipos pero malo para grandes sistemas

 Puede cascar en tiempo de ejecución

 Todo lo que puedes hacer con Java también lo puedes

hacer con Python

 Incluso puedes acceder a través de Python a las API de Java si

usas Jython (http://www.jython.org)

Universidad de Deusto

. . . .

ESIDE

Python vs. Jython

 Python

 También llamado Cpython
 Implementación del lenguaje Python en C
 Python C API permite extender Python con librerías

realizadas en C

 Partes que requieren mayor rendimiento en Python

están implementadas en C o C++ y tan sólo
contienen una pequeña capa de Python encima

 Jython

 Implementación de Python en Java
 Permite acceder a todas las APIs de Java

 P.E. Podemos producir Swing GUIs desde Python

Universidad de Deusto

. . . .

ESIDE

¿Para qué [no] es útil?

 Python no es el lenguaje perfecto, no es bueno para:
 Programación de bajo nivel (system-programming), como

programación de drivers y kernels

 Python es de demasiado alto nivel, no hay control directo sobre

memoria y otras tareas de bajo nivel

 Aplicaciones que requieren alta capacidad de computo

 No hay nada mejor para este tipo de aplicaciones que el viejo C

 Python es ideal:

juntos

 Como lenguaje "pegamento" para combinar varios componentes

 Para llevar a cabo prototipos de sistema
 Para la elaboración de aplicaciones cliente
 Para desarrollo web y de sistemas distribuidos
 Para el desarrollo de tareas científicas, en los que hay que

simular y prototipar rápidamente

Universidad de Deusto

. . . .

ESIDE

Instalar Python

 Bajar versión de Python de

http://www.python.org/download/
 Para Windows ejecutar instalador
 Para Linux, usar rpms disponibles en:

http://www.python.org/2.3.3/rpms.html
 rpm -iv

python2.3-2.3.3-pydotorg.i386.rpm

Universidad de Deusto

. . . .

ESIDE Usando Python desde línea

comando

 Para arrancar el intérprete (Python interactivo) ejecutar:

$ python
Python 2.3.3 (#1, Dec 30 2003, 08:29:25)
[GCC 3.3.1 (cygwing special)] on cygwin
Type "help", "copyright", "credits" or "license" for more

information.

>>>

 Un comando simple:

>>> print "Hola Mundo"
Hola Mundo
>>>

 Para salir del intérprete Ctrl-D (en Linux) o Ctrl-Z (en Linux) o:

>>> import sys
>>> sys.exit()
$

Universidad de Deusto

. . . .

ESIDE Ejecutando programa

holamundo.py

 Python desde script:

 Guardar siguientes sentencias en fichero: holamundo.py

#!/usr/bin/env
python print "Hello World"

 Ejecutar el script desde línea de comando:

$ python helloworld.py
Hello World
$

Universidad de Deusto

. . . .

ESIDE

Sentencias y bloques





Las sentencias acaban en nueva línea, no en ;
Los bloques son indicados por tabulación que sigue a una sentencia
acabada en ':'. E.j. (bloque.py):

# comentarios de línea se indican con carácter '#'
name = "Diego1" # asignación de valor a variable
if name == "Diego":

print "Aupa Diego"

else:

print "¿Quién eres?"
print "¡No eres Diego!"

$ python bloque.py
¿Quién eres?
¡No eres Diego!

Universidad de Deusto

. . . .

ESIDE

Identificadores

 Los identificadores sirven para nombrar variables,

funciones y módulos
 Deben empezar con un carácter no numérico y contener

letras, números y '_'

 Python es case sensitive

 Palabras reservadas:

 and elif global or assert else if pass break

except import print class exec in raise
continue finally is return def for lambda try
del from not while

 Variables y funciones delimitadas por __ corresponden

a símbolos implícitamente definidos:
 __name__ nombre de función
 __doc__ documentación sobre una función
 __init__() constructor de una clase

Universidad de Deusto

. . . .

ESIDE

Tipos de datos I

 Numéricos (integer, long integer, floating-point, and

complex)

>>> x = 4
>>> int (x)
4
>>> long(x)
4L
>>> float(x)
4.0
>>> complex (4, .2)
(4+0.2j)

Universidad de Deusto

. . . .

ESIDE

Tipos de datos II



Strings, delimitados por un par de (', " ,""")
 Dos string juntos sin delimitador se unen

>>> print "Hi" "there"
Hithere
Los códigos de escape se expresan a través de '\':
>>>print '\n'

 Raw strings





>>> print r'\n\\' # no se 'escapa' \n
Lo mismo ' que ", p.e. "\\[foo\\]" r'\[foo\]'

 Algunos de los métodos que se pueden aplicar a un string son:
>>> len('La vida es mucho mejor con Python.')
>>> 34
>>> 'La vida es mucho mejor con Python.'.upper()
'LA VIDA ES MUCHO MEJOR CON PYTHON'
>>> "La vida es mucho mejor con Python".find("Python")
27
>>> "La vida es mucho mejor con Python".find('Perl')
-1
>>> 'La vida es mucho mejor con Python'.replace('Python', 'Jython')
'La vida es mucho mejor con Jython'

Universidad de Deusto

. . . .

ESIDE

Tipos de datos III

 El módulo string de la Python library define

métodos para manipulación de strings:
>>> import string
>>> s1 = 'La vida es mejor con Python'
>>> string.find(s1, 'Python')
21

 '%' es el operador de formateo de cadenas:

>>> provincia = 'Araba'
>>> "La capital de %s es %s" % (provincia,

"Gasteiz")

'La capital de Araba es Gasteiz'
 Los caracteres de formateo son los mismos que en C, p.e. d, f, x

Universidad de Deusto

. . . .

ESIDE

Tipos de datos IV

 Listas []



Indexadas por un entero comienzan en 0:
>>> meses = ["Enero", "Febrero"]
>>> print meses[0]
Enero
>>> meses.append("Marzo")
>>> print meses
['Enero', 'Febrero', 'Marzo']

 Dos puntos (:) es el operador de rodajas, permite trabajar con una

porción de la lista, el elemento indicado por el segundo parámetro no se
incluye:
>>> print meses[1:2]
['Febrero']

 Más (+) es el operador de concatenación:
>>> print meses+meses
['Enero', 'Febrero', 'Marzo', 'Enero', 'Febrero',
'Marzo']

Universidad de Deusto

. . . .

ESIDE

Tipos de datos IV

 Las listas pueden contener cualquier tipo de objetos Python:
>>> meses.append (meses)
>>> print meses
['Enero', 'Febrero', 'Marzo', ['Enero', 'Febrero', 'Marzo' ]]
>>> meses.append(1)
['Enero', 'Febrero', 'Marzo', ['Enero', 'Febrero', 'Marzo' ], 1]
 Para añadir un elemento a una lista:
>>>
  • Links de descarga
http://lwp-l.com/pdf6083

Comentarios de: Python: descubre el poder del lenguaje scripting de moda en la comunidad open source (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