PDF de programación - Minimanual de Python Instantaneo

<<>>
Imágen de pdf Minimanual de Python Instantaneo

Minimanual de Python Instantaneográfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 14 de Febrero del 2018)
613 visualizaciones desde el 14 de Febrero del 2018
170,5 KB
8 paginas
Minimanual de Python

Ahora, algo totalmente diferente...

Python instantáneo 

por Magnus Lie Hetland 

Esto es un curso intensivo de introducción mínima al lenguaje de programación Python. Para obtener más información, echa
un vistazo a la documentación del web de Python, http://www.python.org/, especialmente la tutoría. Si te preguntas por qué
debería interesarte, mira la página de comparación, en la que aparece Python comparado con otros lenguajes.

Esta introducción ha recibido gran cantidad de alabanzas de lectores satisfechos y está traducida a varios idiomas, entre ellos
portugués, ruso, noruego y castellano. La versión original, en inglés, está aquí.

(Página principal de Python)

1. Lo básico
Para empezar, piensa en Python como pseudo­código. Esto es casi cierto. Las variables no tienen tipo, así que no hay que
declararlas. Aparecen cuando se les asigna algo y desaparecen al dejar de usarlas. La asignación se realiza mediante el
operador =. Para comprobar la igualdad se utiliza el operador ==. Se puede asignar varias variables a la vez:

x,y,z = 1,2,3
primero, segundo = segundo, primero
a = b = 123

Para definir bloques de código, se utiliza el sangrado (o indentación) solamente (nada de BEGIN/END ni llaves). Éstas son
algunas estructuras de control comunes:

if x < 5 or (x > 10 and x < 20):
print "El valor es correcto."
if x < 5 or 10 < x < 20:
print "El valor es correcto."
for i in [1,2,3,4,5]:
print "Pasada nº ", i

x = 10
while x >= 0:
print "x todavía no es negativo."
x = x-1

Los dos primeros ejemplos son equivalentes.

La variable de índice en el bucle for recorre los elementos de una lista (escrita como en el ejemplo). Para realizar un bucle
for "normal" (es decir, contando), utilice la función de serie range().

# Mostrar los valores de 0 a 99 inclusive.
for valor in range(100):
print valor

(La línea que comienza por "#" es un comentario y el intérprete le hace caso omiso)

Vale, ahora ya sabes suficiente para implementar cualquier algoritmo en Python. Vamos a añadir algo de interacción básica.
Para obtener entrada del usuario, de un indicador de texto, utiliza la función de serie input.

x = input("Introduzca un número:")
print "El cuadrado de ese número es:", x*x

La función input muestra la solicitud dada (que podría estar vacía) y permite que el usuario introduzca cualquier valor
Python válido. En este caso esperábamos un número, si se introduce algo diferente (una cadena, por ejemplo), el programa
falla. Para evitarlo necesitaríamos algo de comprobación de errores. No voy a entrar en ese tema ahora, valga decir que si
quiere guardar lo que el usuario ha introducido textualmente como un cadena (para que se pueda introducir cualquier
cosa), utilice la función raw_input. Si desea convertir la cadena de entrada s a un entero, podría utilizar int(s).

Nota: Si desea introducir una cadena con input, el usuario debe escribir las comillas explícitamente. En Python, las cadena
pueden encerrarse entre comillas simples o dobles.

Así que tenemos cubiertas las estructuras de control, la entrada y la salida. Ahora necesitamos estructuras de datos
impresionantes?. Las más importantes son las listas y los diccionarios. Las listas se escriben entre corchetes, y se pueden
(por supuesto) anidar:

nombre = ["Cleese", "John"]
x = [[1,2,3],[y,z],[[[]]]]

Una de las ventajas de las listas es que se puede acceder a sus elementos por separado o en grupos, mediante indexado y
corte. El indexado se realiza (como en muchos otros lenguajes) añadiendo el índice entre corchetes a la lista (observa que el
primer elemento es el 0).

print nombre[1], nombre[0]
Muestra "John Cleese"
nombre[0] = "Palin"

El corte es casi como el indexado, pero se indican los índices de inicio y fin del resultado, con dos puntos (":") de
separación:

x = ["magro","magro","magro","magro","magro","huevos","and","magro"]
print x[5:7]
Muestra la lista ["huevos","and"]

Observa que el índice final no se incluye en el resultado. Si se omite uno de los índices se supone que se quiere obtener todo
en la dirección correspondiente. Esto es, lista[:3] quiere decir "cada elemento desde el principio de lista hasta el
elemento 3, no incluido". (se podría decir en realidad el elemento 4, ya que contamos desde 0... bueno). lista[3:]
significaría, por otra parte "cada elemento de lista, empezando por el 3 (inclusive), hasta el último inclusive". Se pueden
utilizar números negativos para obtener resultados muy interesantes: lista[-3] es el tercer elemento desde el final de la
lista...

Ya que estamos en el tema del indexado, puedes encontrar interesante que la función de serie len dé la longitud de una lista.

Y ahora, ¿qué pasa con los diccionarios? Para ser breves, son como listas, pero su contenido no está ordenado. Y ¿cómo se
indexan, entonces? Bueno, cada elemento tiene una clave o "nombre" que se utiliza para buscar el elemento, como en un
diccionario de verdad. Un par de diccionarios de ejemplo:

{ "Alicia" : 23452532, "Boris" : 252336, "Clara" : 2352525 }
persona = { 'nombre': "Robin", 'apellido': "Hood",
'trabajo u ocupación': "Ladrón" }

Ahora, para obtener la ocupación de persona, utilizamos la expresión persona["trabajo u ocupación"]. Si le
queremos cambiar el apellido, escribiremos:

persona['apellido'] = "de Locksley"

Simple, ¿no? Como las listas, los diccionarios pueden contener otros diccionarios. O listas, ya que nos ponemos. Y
naturalmente, también las listas pueden contener diccionarios. De este modo, se pueden conseguir estructuras de datos
bastante avanzadas.

2. Funciones
Próximo paso: Abstracción. Queremos dar un nombre a un trozo de código y llamarlo con un par de parámetros. En otras
palabras, queremos definir una función (o "procedimiento"). Es fácil. Utilice la palabra clave def así:

def cuadrado(x):
return x*x
print cuadrado(2)
Muestra 4

Para los que lo entendáis: Todos los parámetros en Python se pasan por referencia (como, por ejemplo, en Java). Para los
que no, no os preocupéis :).

Python tiene todo tipo de lujos, como argumentos con nombre y argumentos por omisión y puede manejar un número
variable de argumentos para una función. Para obtener más información, consulta la sección 4.7 de la tutoría de Python.

Si sabe utilizar las funciones en general, esto es lo que necesita saber sobre ellas en Python, básicamente (ah, sí, la palabra
clave return detiene la ejecución de la función y devuelve el resultado indicado).

Algo que podría resultar interesante conocer, sin embargo, es que las funciones son valores en Python. Así que, si tiene una
función como cuadrado, podría hacer cosas como:

cosa = cuadrado
cosa(2)
Muestra 4

Para llamar a una función sin argumentos debes recordar escribir hazlo() y no hazlo. La segunda forma sólo devuelve la
función en sí, como valor (esto vale también para los métodos de los objetos... lee lo siguiente).

3. Objetos y cosas...
Supongo que sabes cómo funciona la programación orientada a objetos (de otro modo, esta sección podría resultar un poco
confusa, pero no importa, empieza a jugar con los objetos :)). En Python se definen las clases con la palabra clave
(¡sorpresa!) class, de este modo:

class Cesta:
# Recuerde siempre el argumento self
def __init__(self,contenido=None):
self.contenido = contenido or []
def añadir(self,elemento):
self.contenido.append(elemento)
def muestra_me(self):
resultado = ""
for elemento in self.contenido:
resultado = resultado + " " + `elemento`
print "Contiene:"+resultado

Cosas nuevas:

1.  Todos los métodos (funciones de un objeto) reciben un argumento adicional al principio de la lista de argumentos, que
contiene el propio objeto. Este argumento, por convención, se suele llamar self (que significa 'uno mismo'), como en
el ejemplo.

2.  A los métodos se los llama de este modo: objeto.método(arg1,arg2).
3.  Alguno nombres de método, como __init__ están predefinidos, y significan cosas especiales. __init__ es el

nombre del constructor de la clase, es decir, es la función a la que se llama cuando creas una instancia.

4.  Algunos argumentos son opcionales y reciben un valor dado (según lo mencionado antes, en la sección de funciones).

Esto se realiza escribiendo la definición así:

def magro(edad=32): ...
Aquí, se puede llamar a magro con uno o cero parámetros. Si no se pone ninguno, el parámetro edad tendrá el valor
32.

5.  "Lógica de cortocircuito." Esto es un punto... Ver más tarde.
6.  Las comillas invertidas convierten un objeto en su representación como cadena (así que si elemento contiene el

número 1, `elemento` es lo mismo que "1" mientras que 'elemento' es una cadena literal).

7.  El signo más + se utiliza también para concatenar listas. Las cadenas son sólo listas de caracteres (lo que significa que

se puede utilizar indexado, corte y la función len en ellas; chulo, ¿eh?).

Ningún método o variable miembro es protegido (ni privado, ni nada de eso) en Python. La encapsulación es, en su mayoría,
cuestión de estilo al programar.

Retomando el tema de la lógica de cortocircuito...

Todos los valores de Python se pueden utilizar como valores lógicos. Algunos, los más "vacíos", como [], 0, "" y None
representan el valor lógico "falso", mientras el resto (como [0], 1 or "Hola, mundo") representan el valor lógico
"verdadero".

Las expresiones lógicas como a and b se evalúan de este modo: Primero, se comprueba si a es verdadero. Si no,
simplemente se devuelve su valor. Si sí, simplemente se devuelve b (que representa el valor lógico de la expresión). La lógica
correspondiente a a or b es: Si a es verdadero, devolver su valor. Si no, devolver b.

Este mecanismo hace que and y or se comporten como los operadores lógicos que supuestamente implementan, pero
t
  • Links de descarga
http://lwp-l.com/pdf8784

Comentarios de: Minimanual de Python Instantaneo (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad