miércoles, 16 de enero de 2013

Tutorial scripting python 3.3 desde Unix parte 2

Este es el segundo tutorial de python 3.3.x ,aclarando un poco,ya le hice un espacio en el sitio en el enlace de abajo:

Enlace
El cual va a contener estos tutoriales,donde hablare de bucles,estructuras selectivas,variables,etc y también ejemplos,funciones, módulos,etc.

Y en esta ocasión vamos a ver listas y bucles,ya que quiero repasar lo que se había visto en python 2.7,y bueno nada,vamos a comenzar.

Vamos ir subiendo la dificultad de los tutoriales mientras vayamos avanzando,ya que python sirve para muchas,cosas y en este caso solo estamos viendo scripting desde Unix,asi que empezaremos por el principio :D.

Listas

Las listas son parecidos a los arrays (si conoces otros lenguajes),si no,dejeme explicar  que las listas son variables/lugares donde guardamos 0 o mas de un valor,por ejemplo una variable puede contener un valor:

variable = "un valor"

Y una lista puede guardar desde 0 hasta muchos,estos se tienen que guardar en [ ] separados por comas y si son cadenas encerradas en "" o '':

Lista sin valor:

lista = []

Lista con dos valores:

lista =["Valor uno","Valor dos"]
Recuerden que existen tipos de datos y debemos saber manejarlos,asi que hacemos un pause a las listas para,comprender los tipos de datos y usar mejor las listas.

Tipos de datos 

Porque son tan importantes los tipos de datos?

Digamos que python tiene una canasta para cada dato,si no defines que dato es,python no sabe en que canasta guardarlo :(

Así que estos son los mas comunes:

Descriptor (Ingles) Español Descripción Ejemplo:

int (integer) = entero = numero = 12,3,etc

str (string) = cadena = palabras/letras = "Hola Mundo" 

float (float) = de punto flotante o también conocido como real = números con punto = 13.4,11.0,etc.etc

long (long) = largo = números con letras = 13abs etc

complex (complex) = complejo :

Es una fucion de un long y un float almacenados en un double de C = 10.5 * 10.5.s

Esos descriptores los usamos al transformar un valor en otro, y porder trabajar con ellos,por ejemplo:

Si queremos recibir números(enteros) desde el teclado ,y transformamos a integer, para poder usarlos en operaciones aritméticas,debemos hacer:


int(input("Escribe un numero: "))
De igual forma en con los float,etc


float(input("Escribe un numero de punto flotante: "))

Claro que esto va en una variable,por ejemplo este script:


#!/usr/bin/env python

print ("Si no ingresas los tipos de datos que pide,dara error :(")
numero1 = int(input("Escribe el numero entero: "))
numero2 = float(input("Escribe el numero de punto flotante: "))

print ("Suma = ", numero1 + numero2)


Y en modo cadena igual

Ahora las variables las podemos definir así:

cadena = "Cadena"

numero = 10

flotante = 10.5

Los podemos imprimir,y podemos trabajar con ellos si estos los definimos nosotros en variables,en el caso de que vengan de otro lugar,por ejemplo de la entrada estándar (input) debemos convertir su valor (como arriba):


#!/usr/bin/env python

cadena = "Cadena de texto"

numero = 10

flotante = 10.5

print ("Imprimir\n")
print ("Cadena = ", cadena, "\nNumero = ", numero , "\nFlotante = ", flotante)
print ("Usando operacion aritmetica :")
print ("Numero + Flotante =", numero + flotante)
print ("Numero * 3 = ", numero * 3)
print ("Cadena * 2 = ", cadena * 2)


Los valores bloeanos los vamos a necesitar mucho y debemos saber manejaros,estos valores son:


True (True) =  Verdadero

False (False) = Falso

Estos valores son retornos que podemos usar en bucles o estructuras selectivas,podemos decir que:

0 es False

y

1 es True

 Ya que son los valores que retornan,

También existe un valor nulo el cual es:

None(None) = Nulo/Sin valor


Bien.

Continuando con las listas,ahora si podemos hablar bien:

Digamos que queremos asignar un valor a cada una de estas,la primera es cadena,segunda entero y tercera flotante:

lista = ["Mi cadena", 10 , 10.7]
Ya las asignamos,pero ahora como las llamamos?

Debemos tener en cuenta que las listas son valores,y estos se tomas de izuierda a derecha comenzando por cero,nosotros lo vemos asi:


lista = ["Mi cadena", 10 , 10.7]
Y python lo ve así:

lista = [ 0, 1 , 2]
Así que para llamarlo,debemos llamar a la lista y el numero del valor que queremos,por ejemplo el numero 10 que es el primer valor:

lista[1]

También los podemos llamar todos,pero se regresan con todo y [] y ""

lista
Otra cosa que podemos hacer es llamarlo por rebanadas(como se traduce la documentación de python)

Las rebanadas son cortes de la lista y estas son muy utiles para cambiar o agregar una, aquí solo cabe indicar que en este si se comienza por el 1,ya que el cero es None y es para poder agregar un nuevo valor:


nosotros lo vemos así:


lista = ["Mi cadena", 10 , 10.7]
Y python lo ve así:

lista = [ 1 , 2 , 3] # 0 es nuevo valor
La sintaxis es:

lista [ : ] # todo

Script:


#!/usr/bin/env python

lista = ["Mi cadena", 10 , 10.7]

print ("Lista = ", lista , "\n" )
print ("Primer valor (0) = ", lista[0], "\n")
print ("Segundo valor (1) = ", lista[1], "\n")
print ("Tercer valor (2) =", lista[ 2 : ] , "\n")
print ("Rebanada [ -2 ] = ", lista[ -2] , "\n")
print ("Rebanada [ : 0  ] = ", lista[ : 0 ], "\n")

print ("Rebanada [ 0 : ] = ", lista[  0 : ], "\n")

print ("Mostrar solo 1 y 2 rebanada [ 1 : ] = ", lista[1 :] )
print ("Mostrar solo 0 y 1 rebanada [ : 2 ] = ", lista[ : 2])


Ejecuten y vean el ejemplo,analicen y entiendan.

Para añadir un valor usamos esta sintaxis:

Lista[rebanada] = [valor/es]

Por ejemplo:



#!/usr/bin/env python

lista = ["Mi cadena", 10 , 10.7]

print ("Lista = ", lista , "\n" )
print ("Primer valor (0) = ", lista[0], "\n")
print ("Segundo valor (1) = ", lista[1], "\n")
print ("Tercer valor (2) =", lista[ 2 : ] , "\n")
print ("Rebanada [ -2 ] = ", lista[ -2] , "\n")
print ("Rebanada [ : 0  ] = ", lista[ : 0 ], "\n")

print ("Rebanada [ 0 : ] = ", lista[  0 : ], "\n")

print ("Mostrar solo 1 y 2 rebanada [ 1 : ] = ", lista[1 :] )
print ("Mostrar solo 0 y 1 rebanada [ : 2 ] = ", lista[ : 2])


print ("\nAnadiendo un valor al principio de la lista : \n")

lista[ : 0 ] = ["Inicio"]

print (lista, "\n")




También podemos ver la longitud de la lista con el operador len:

len(lista)

Hasta aquí con las listas,podemos ver este ejemplo,solo ejecuten y analicen:

 Enlace

Bucles

while


Los bucles son ejecuciones constantes  de una orden basados en una condición y estos terminan hasta que se rompan o termine la condición,por ejemplo,tenemos un lugar a donde entrar y este necesita una contraseña y hasta que introduzcamos la contraseña correcta no hará mas cosas o pasara al siguiente paso del script,esto lo podemos hacer con un bucle

Enlace
Podemos empezar un bucle infinito con el uso de True(Verdadero) y despues usar break(romper) en la parte del bucle que necesitemos romperlo,o ya no lo necesitamos,al haber cumplido la condición.

Por ejemplo tenemos de condición que la variable a, tiene de valor valor:

a = "valor"

Ahora usamos esto de condición para un bucle:

while a == "valor":

Después cambiamos su valor desde la entrada del teclado:

a = input("Valor de a : ")
Y así de simple

Enlace
Esas son las dos formas de romper el bucle,solo recuerden que debe ir identado,para que reconozca la sintaxis:

while condicion :
        comandos
     
Vídeo:




for in

El bucle for recorre un valor hasta que termine de hacerlo,y en ese punto es cuando se rompe,por ejemplo las listas las podemos recorrer con un bucle for:

Creamos una lista

lista = ["uno","dos","tres"]
Usamos la sintaxis de for:

for debe crear un identificador que trabaje el valor asignado,con la sitaxis:

for identificador in valor_asignado:

Script:

#!/usr/bin/env python

lista = ["uno","dos","tres"]
for v in lista:
     print (v)


También podemos hacerlo directamente sin declarar una lista:


#!/usr/bin/env python

for v in ["uno","dos","tres"]:
     print (v)

O también podemos trabajar cadenas de texto:


 Mas info


Eso es todo en este momento sobre python 3.3.

Si tienen aportes o comentarios,adelante.

No hay comentarios.:

Publicar un comentario

Los comentarios serán revisados antes de ser publicados.