Underc0de

Programación Scripting => Python => Mensaje iniciado por: Sajuuk en Mayo 14, 2015, 03:03:39 AM

Título: Tipos de datos en Python
Publicado por: Sajuuk en Mayo 14, 2015, 03:03:39 AM
Tipos de datos
(http://i58.tinypic.com/rumwkh.png)

Enteros (int):
Tipo de variable que almacena numeros enteros (sin punto decimal)
Ejemplos:
Para comprobar si una variable es tipo entero, introducimos el siguiente comando:
Citartype(a)
Lo que hace es imprimir la clase de variable que se pasa. Si nosotros le pasamos la variable "a", imprimirá un <class 'int'>, lo que significa que es un entero.






Strings (str):
(También llamadas "cadenas") Conjunto de caracteres contenidos dentro de comillas (simples o dobles).
Ejemplos:

Concatenar cadenas:
Para concatenar strings, se toma una variable (o cadena), y se le añade el operador "+", que representa la concatenación (o unión de cadenas). Al final, se agrega la otra variable o cadena.
Ejemplo:
Código (python) [Seleccionar]

cadena1 = "Hola, "
cadena2 = "mundo!"

cadena3 = cadena1 + cadena2

Y nos imprime: "Hola, mundo!"

Imprimir varias cadenas a la vez:
Si queremos imprimir una cadena varias veces, simplemente hacemos esto:
Código (python) [Seleccionar]

cadena = "Hola"

print(cadena * 10)

Y nos imprime: "HolaHolaHolaHolaHolaHolaHolaHolaHolaHola" (osea, imprime 10 veces la cadena "Hola")

Cortar y leer una cadena:
A veces necesitamos buscar una palabra en especifico, así que podemos usar los siguientes métodos:
Código (python) [Seleccionar]

str = 'Hola, mundo!

print (str)          # Imprime la cadena completa
print (str[0])       # Imprime solo el primer caracter
print (str[2:5])     # Imprime desde el 3er caracter hasta el 5to
print (str[2:])      # Imprime la cadena comenzando el 3er caracter

(Recuerden, el primer caracter es 0, así que al decir [2:], estamos diciendo que comenzará desde el 3er caracter.

+---+---+---+---+---+---+
| P | y | t | h | o | n |
+---+---+---+---+---+---+
0   1   2   3   4   5   6
-6  -5  -4  -3  -2  -1

Recorrer cada caracter de una cadena:
Podemos imprimir cada caracter contenido dentro de una cadena haciendo lo siguiente;

cadena = "Hola, mundo!"

for x in cadena:    # Por cada caracter en la variable cadena...
    print(x)    # Imprimimos ese caracter.

Lo cual nos dará como resultado:
Citar
H
o
l
a
,

m
u
n
d
o
!





Listas (list):
Conjunto de datos contenidos dentro de corchetes, y separados por comas.
Ejemplo:

Acceder a su contenido:
Código (python) [Seleccionar]

lista = [1,2,3,4,5]
lista2 = [6,7,8,9,10]

print (lista)          # Imprime la primera lista
print (lista[0])       # Imprime el primer valor de la primera lista
print (lista[1:3])     # Imprime valores comenzando desde el 2do hasta el 4to.
print (lista[2:])      # Imprime comenzando desde el 3er valor
print (lista2 * 2)  # Imprime la segunda lista 2 veces
print (lista + lista2) #Concatena (o une) las 2 listas, lo cual imprime 1,2,3,4,5,6,7,8,9,10

Lo cual nos imprime:
Citar
[1, 2, 3, 4, 5]
1
[2, 3]
[3, 4, 5]
[6, 7, 8, 9, 10, 6, 7, 8, 9, 10]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]






Tuplas (tuple):
Conjunto de datos contenidos entre parentesis.
No se debe de confundir con las listas, ya que las tuplas son read-only, quiere decir que no se pueden modificar, solo leer.
Ejemplo:
Código (python) [Seleccionar]

tuple = ( 'Pablo', 786 , 2.23, 'Juan', 70.2  )
tupla2 = (123, 'Martín')

print (tuple)           # Imprime la primera tupla
print (tuple[0])        # Imprime el primer valor de la primera tupla
print (tuple[1:3])      # Imprime desde el 2do valor hasta el 3er valor
print (tuple[2:])       # Imprime desde el 3er valor
print (tupla2 * 2)   # Imprime la segunda tupla 2 veces
print (tuple + tupla2) # Concatenamos las 2 tuplas e imprimimos


¿Qué no se puede hacer?
No podemos declarar un nuevo valor, ejemplo:
Código (python) [Seleccionar]

tuple = ( 'Pablo', 786 , 2.23, 'Juan', 70.2  )
tuple[5] = "Mundo"

Nos lanza el siguiente error:
CitarTypeError: 'tuple' object does not support item assignment
Quiere decir: El objeto tupla no soporta nuevos valores.





Diccionarios (dict):
CitarEn otros lenguajes, a los diccionarios se los llama arrays asociativos, matrices asociativas, o también tablas de hash.
Colección no-ordenada de valores que son accedidos a traves de una clave.
Ejemplo:
Código (python) [Seleccionar]

diccionario = {
"Hola": 1,
"mundo": 2,
"!": 3
}
print(diccionario)



Imprimiendo items:
Podemos imprimir la clave de un item haciendo lo siguiente:
Código (python) [Seleccionar]

diccionario = {
"Hola": 1,
"mundo": 2,
"!": 3
}

print(diccionario["Hola"])

Y nos imprime: 1

Declarando nuevos valores:
Hay veces en que queremos crear un diccionario y añadirle valores nosotros mismos (a veces en tiempo de ejecución). Para eso, solo necesitamos hacer esto:
Código (python) [Seleccionar]

diccionario2 = {} #Diccionario vacio
diccionario2["valor1"] = 50
diccionario2["valor2"] = 100

print(diccionario2)


Recorriendo el diccionario:
Código (python) [Seleccionar]

diccionario = {
"Hola": 1,
"mundo": 2,
"!": 3
}

for valor in diccionario:
print(valor)

Citar
Hola
!
mundo


Hacer esto nos imprime los items, mas no las claves.
Para ello, hacemos esto:
Código (python) [Seleccionar]

diccionario = {
"Hola": 1,
"mundo": 2,
"!": 3
}

for valor in diccionario:
print(valor, ":", diccionario[valor])

Citar
mundo : 2
Hola : 1
! : 3

Comprobar si existe un valor:
Para verificar si una clave se encuentra en el diccionario, es posible utilizar la palabra reservada "in":
Código (python) [Seleccionar]

d = {
"x": 12,
"y": 7
}

if 'y' in d:
   print(d['y'])   # Imprime 7






Saludos!
Título: Re:Tipos de datos en Python
Publicado por: ANTRAX en Mayo 14, 2015, 08:23:47 AM
Que buen aporte @Barlan (https://underc0de.org/foro/index.php?action=profile;u=36942)!
Te dejo +Puntos!

Muchisimas gracias!!

ANTRAX
Título: Re:Tipos de datos en Python
Publicado por: WhiZ en Mayo 14, 2015, 09:09:48 AM
Muy bueno Barlan! Te dejo +1 tmb!

Saludos!
WhiZ