lunes, 31 de diciembre de 2012

Funciones de cadena Python 3.3

Me he decidido a en vez de hacer una linea de tutoriales como los de bash:

Enlace
Hacerlos como los de Perl:

Meter todo tipo de información sobre python en el blog y hacer un sitemap sobre el tema

Enlace
Así serán mas de provecho para programadores experimentados y nuevos.


Bien,en Python tenemos muchas funciones de cadena que nos serán de mucha utilidad cuando queramos crear algo,algo desde un simple programa de consola o hasta un programa de miles de lineas con GUI,ya que la programacion de sistemas operativos se basa en texto y lenguajes como python tienen mucho poder para procesar este,voy a poner un ejemplo sencillo para que vean lo que vamos a aprender en esta entrada:

En el mundo de la programación me he dado cuenta,que sea el tutorial que sea,de la pagina,escuela,libro que sea usan algoritmos básicos para el entendimiento,los algoritmos son soluciones y estos pueden ir desde el clásico programa para medir calificaciones de estudiantes,a crear una caja registradora,programas para administración de bases de datos(con o sin GUI),etc y aquí voy a colocar uno de los mas básicos que he visto:

Pregunta el nombre entero país y lo convierte como debe ser(mayúsculas minúsculas):

Enlace
Lo que hace es claro,ejecuten ya que es difícil de explicar pero básico lo que hace.

Lo explico:


import os

def clear():
    os.system('clear')

Esto solo es para usar el comando clear del sistema(consola),no es necesario y lo veremos después

clear()

esto llama la función que limpia del sistema(consola) tampoco entra en el tema en este momento.


nombre = input("Nombre: ")
apellido = input("Apellido: ")
pais = input("Pais: ")
edo = input("Estado: ")

Definimos nuestras variables,estas las definimos desde input(entrada del teclado)


print ("Nombre: ", str.capitalize(nombre))
print ("Apelllido: ", str.capitalize(apellido))
print ("Pais: ", str.capitalize(pais))
print ("Estado: ", str.upper(edo) )

Imprimimos las variables,aqui lo importante es lo que pinte de verde,son las funciones de cadena:

str.capitalize(cadena)

Convierte la primera letra de la cadena a mayúscula.

str.upper(cadena)
Convierte toda la cadena a mayúsculas.

Y eso es lo que veremos en este tutorial :D


Las cadenas las he modificado directamente desde donde esta el comando print,ya que también le podemos pasar el valor a una variable,por ejemplo en vez de hacer

cadena = "Mi cadena"
print (str.upper(cadena))

Podemos hacer

cadena = "Mi cadena"
cadet= str.upper(cadena) # cadena convertida

print (cadet) # llamamos la cadena ya convertida

Vean/ejecuten este script


#!/usr/bin/env python

cadena = "Hola Mundo"
print ("Mi cadena es:",cadena)

cadet = str.upper(cadena) # cadena convertida
print ("Convertida: ",cadet) # llamamos la cadena ya convertida

Segun la documentacion oficial de python,dice que se ejecuta la funcion de esta manera:

str.funcion(cadena)
str hace referencia a string,como int a integer

En este caso de capitalize y upper también se puede usar

cadena.funcion()
Por ejemplo:

#!/usr/bin/env python

cadena = "Hola Mundo"
print ("Mi cadena es:",cadena)

cadet = cadena.upper() # cadena convertida con otra sintaxis
print ("Convertida: ",cadet) # llamamos la cadena ya convertida


Bien de momento solo hemos usado dos funciones,pero hay muchas:

len()

Regresa el numero de palabras de la cadena(los espacios los toma como longitud también)

cadena = "1234 67890"

print (len(cadena))


endswith()

Devuelve valor verdadero o falso dependiendo si se cumple la condición

Condición: Que encuentre parámetro en terminación de cadena:

#!/usr/bin/env python

cadena = "Mi cadena"

if cadena.endswith("na") == True:

print ('Es True se encontró "na" en cadena ')
else:
print ("Es false")


startswith()

Contrario a endswith

#!/usr/bin/env python

cadena = "Mi cadena"

if cadena.startswith("na") == True:

print ('Es True se encontró "na" en cadena ')
else:
print ("Es false")


count()

Devuelve el numero de coincidencias encontradas en cadena:

#!/usr/bin/env python

cadena = "Mi cadena 1 cadena 2 cadena 3 cadena 4"

print (cadena.count("cadena"))



lower()

Devuelve la cadena convertida en minúsculas(toda)

#!/usr/bin/env python

cadena = "MI CADENA"

print (cadena.lower())

upper()

Contrario a lower

#!/usr/bin/env python

cadena = "mi cadena"

print (cadena.upper())


capitalize()

Devuelve la cadena con la primera letra convertida a mayúscula


#!/usr/bin/env python

cadena = "mi cadena"

print (cadena.capitalize())


replace(,)

Remplaza el parámetro especificado el numero de veces sobre la cadena


#!/usr/bin/env python

cadena = "mi cadena"

# Todas las coincidencias

print (cadena.replace("a","o"))

# Solo una (de izquierda a derecha)

print (cadena.replace("a","o",1))

split[]

Convierte nuestra cadena en lista y devuelve el valor convertido en lista


#!/usr/bin/env python

cadena = "mi cadena"

lista = cadena.split()

print (lista)

También podemos cortar una parámetro del valor indicado:

#!/usr/bin/env python

cadena = "mi cadena"

lista = cadena.split("i")

print (lista[0])

join[]

Similar a split pero diferente

¿? XDDD

Convierter una lista en cadena y le pasa un valor,en vez de quitarlo,se parece a split porque hace lo contrario,pero se define diferente:

#!/usr/bin/env python

lista = ["mi", "lista","o se llaman","array ?"]

parametro = '< ^ >'

lis = parametro.join(lista)

print (lis)

isnumeric()

Devuelve valor True si todos los parámetros de la cadena son numéricos

#!/usr/bin/env python


cadena = input("Escribe solo numeros: ")



if cadena.isnumeric() == True:

print ('Es True bien :P ')
else:
print ("Es false dije solo numeros :(")

isalnum()


Devuelve valor True si todos los parámetros de la cadena son alfanuméricos

O sea no #$%&

#!/usr/bin/env python

cadena = input("Escribe los parametros: ")

if cadena.isalnum() == True:

print ('Es True bien :P ')
else:
print ("Es false :(")

isalpha()

Si todos los caracteres son alfabeticos


#!/usr/bin/env python

cadena = input("Escribe los parametros: ")

if cadena.isalpha() == True:

print ('Es True bien :P ')
else:
print ("Es false :(")

Igual con 

isdecimal()

Si hay decimales en cadena

isdigit()

Si hay dígitos en cadena

islower()

Si toda la cadena esta en minúsculas

Falta mucho,pero eso es lo mas usado,por lo menos que yo uso y he visto que usen

Nota: Chequen que este id entado el código,para que les funcione:


De preferencia no hagan copy & paste

Para entender mejor el funcionamiento

Si tienen un comentario o aporte de cuales funciones de strings usan,adelante
Mas info en : docs.python.org

No hay comentarios.:

Publicar un comentario

Los comentarios serán revisados antes de ser publicados.