Aprende a dominar los métodos de strings en Python, entender por qué las letras mayúsculas y minúsculas son distintas, y aprovechar funciones clave como dir y help para explorar objetos y su documentación. Con ejemplos claros en el intérprete, verás cómo buscar patrones, transformar texto y escribir docstrings útiles.
¿Qué operaciones con strings en Python necesitas hoy?
Los strings ofrecen métodos descriptivos y muy prácticos. Además, Python trata cada carácter como un número interno distinto, por eso 'a' y 'A' no son iguales, lo que afecta búsquedas y comparaciones sensibles a mayúsculas.
¿Cómo transformar, buscar y validar patrones?
upper: convierte todo a mayúsculas.
lower: convierte todo a minúsculas.
capitalize: primera letra en mayúscula y el resto en minúsculas.
find: devuelve el índice donde inicia un patrón.
startswith / endswith: validan si empieza o termina con un patrón.
Ejemplo en el intérprete:
s ="Platzi"s.upper()# 'PLATZI's.lower()# 'platzi's.capitalize()# 'Platzi's.find("la")# 1 (porque 'la' inicia en el índice 1)s.startswith("P")# Trues.endswith("zi")# True
¿Qué hacen los operadores in y not in?
in y not in: verifican pertenencia de un substring en un string.
Funcionan con cualquier secuencia en Python.
Ejemplo breve:
"la"in"Platzi"# True"x"notin"Platzi"# True
¿Cómo explorar métodos con dir y qué son los Dunder Methods?
Para conocer “todo lo que un objeto sabe hacer”, usa dir. Verás métodos comunes y otros con doble guion bajo al inicio y final: los Dunder Methods. Estos configuran el comportamiento del objeto con el propio lenguaje (por ejemplo, cómo actúa el operador +).
¿Por qué aparecen nombres con doble guion bajo?
Son métodos especiales como add, len, str.
Permiten ajustar cómo Python ejecuta operaciones.
En strings, add define la concatenación con +.
Ejemplo de exploración:
s ="Platzi"dir(s)# Lista de métodos y atributos, incluidos __add__, __len__, etc.
¿Qué métodos usar en el día a día?
capitalize, upper, lower, find: transformación y búsqueda.
startswith, endswith: validación de prefijos y sufijos.
Explora más con dir y practica en el intérprete.
¿Cómo documentar y consultar con docstrings y help?
La documentación integrada facilita el aprendizaje. Agrega docstrings con triples comillas dobles a tus funciones y consúltalas con help. Casi todas las funciones y librerías en Python incluyen estos textos de ayuda.
¿Cómo escribir una docstring efectiva?
Usa triples comillas dobles.
Explica propósito y uso.
Mantén claridad y concisión.
Ejemplo:
defmy_function():"""
Este es un texto de ayuda de cómo utilizar esta función.
"""pass
¿Cómo obtener ayuda desde el intérprete?
Llama help sobre funciones u objetos.
Lee las instrucciones de uso directamente en consola.
help(my_function)# Muestra la docstring y detalles de la funciónhelp(str)# Explora documentación de la clase str y sus métodos
¿Con qué métodos y combinaciones lograste mejores resultados al manipular strings? Comparte tus hallazgos y dudas en los comentarios.
MÉTODO FIND
Devuelve el menor índice de la cadena para que el sub se encuentre, también recibe 2 argumentos opcionales de inicio y fin. Nos devuelve -1 si no se halla el substring.
POR EJEMPLO
nombre ='Alexander'nombre.find('exa')=>2nombre.find('exa',5)=>-1
MÉTODO ISALNUM
devuelve verdadero si todos los caracteres son alfanuméricos y hay al menos un caracter.
POR EJEMPLO:
nombre ="Alexander"nombre.isalnum()=>trueprueba =""prueba.isalnum()=>falsetest ="alexander@@@"test.isalnum()=>false
-MÉTODOISALPHA() devuelve verdadero si todos los caracteres son alfabéticos.POREJEMPLO:``` nombre="alexander"
nombre.isalpha() =>true
nombre="alexander745"
nombre.isalpha() =>false
```-MÉTODOISDIGIT devuelve verdadero si todos los caracteres son dígitos.por ejemplo:``` codigo="4785"
codigo.isdigit() => true
```
Buen aporte!
Excelente información para validar estradas de datos por parte del usuario
Lista completa de operadores de Strings
Ver artículo original
*
Method
Description
capitalize()
Convierte el primer carácter en mayúsculas
casefold()
Convierte una cadena en minúsculas
center()
Devuelve una cadena centrada
count()
Devuelve el número de veces que un valor especificado se produce en una cadena
encode()
Devuelve una versión codificada de la cadena
endswith()
Devuelve true si los extremos de cadena con el valor especificado
expandtabs()
Establece el tamaño de la pestaña de la cadena
find()
Busca la cadena de un valor especificado y devuelve la posición de donde fue encontrado
format()
Formatos especifican los valores de una serie
format_map()
Formatos especifican los valores de una serie
index()
Busca la cadena de un valor especificado y devuelve la posición de donde fue encontrado
isalnum()
Devuelve verdadero si todos los caracteres de la cadena son alfanuméricos
isalpha()
Devuelve True si todos los caracteres de la cadena están en el alfabeto
isdecimal()
Devuelve True si todos los caracteres de la cadena son decimales
isdigit()
Devuelve verdadero si todos los caracteres de la cadena son dígitos
isidentifier()
Devuelve True si la cadena es un identificador
islower()
Devuelve verdadero si todos los caracteres de la cadena son minúsculas
isnumeric()
Devuelve verdadero si todos los caracteres de la cadena son numéricos
isprintable()
Devuelve verdadero si todos los caracteres de la cadena son imprimibles
isspace()
Devuelve True si todos los caracteres de la cadena son espacios en blanco
istitle()
Devuelve True si la cadena sigue las reglas de un título
isupper()
Devuelve True si todos los caracteres de la cadena son mayúsculas
join()
Se une a los elementos de un iterable al final de la cadena
ljust()
Devuelve una versión justificada izquierda de la cadena
lower()
Convierte una cadena en minúsculas
lstrip()
Devuelve una versión de ajuste izquierdo de la cuerda
maketrans()
Devuelve una tabla de traducción para ser utilizado en traducciones
partition()
Devuelve una tupla donde la cadena se separó en tres partes
replace()
Devuelve una serie en un valor especificado es reemplazado con un valor especificado
rfind()
Busca la cadena de un valor especificado y devuelve la última posición de donde fue encontrado
rindex()
Busca la cadena de un valor especificado y devuelve la última posición de donde fue encontrado
rjust()
Devuelve una versión justificada derecha de la cadena
rpartition()
Devuelve una tupla donde la cadena se separó en tres partes
rsplit()
Divide la cadena en el separador especificado y devuelve una lista
rstrip()
Devuelve una versión ajuste correcto de la cadena
split()
Divide la cadena en el separador especificado y devuelve una lista
splitlines()
Divide la cadena en los saltos de línea y devuelve una lista
startswith()
Devuelve true si la cadena comienza con el valor especificado
strip()
Devuelve una versión recortada de la cadena
swapcase()
Permutas de los casos, se convierte en minúsculas mayúsculas y viceversa
title()
Convierte el primer carácter de cada palabra en mayúsculas
translate()
Devuelve una cadena traducida
upper()
Convierte una cadena en mayúsculas
zfill()
Rellena la cadena con un número determinado de valores de 0 a principios
Excelente aporte :thumbsup:
usando el help(str) en el interpete nos muestra la ayuda de los metodos asociados a la clase str
buen aporte pablo
title() sirve para los nombres, ejemplo:
peter pan -> Peter Pan
Convierte la primera letra de cada palabra a mayúsculas
Un truco para limpiar su consola o el interprete de Python. Pulsen CTRL + L. Funciona en linux y MacOs, no se si en Windows tambien
Para limpiar en el cmd de windows usa:
>>>import os
>>> clear = lambda: os.system('cls')>>>clear()
y despues ya puedes usar solo
>>>clear()
Escribiendo “cls” se limpia en windows
Para los que les gustaria saber que es "pass"
Aquí pueden ver un ejemplo.
Gracias por el aporte.
En resumen:
The pass statement is a null operation; nothing happens when it executes.
gracias
Mi código comentado de este ejercicio, espero les sirva 😎👍
#Métodos para maipular strings
print("#Métodos para maipular strings")var_string ="var_string = Initial text"print(var_string)print('-'*75)new_string = var_string.upper()print("var_string.upper = ", new_string," | Convert text to capital letters")print('-'*75)new_string = var_string.lower()print("var_string.lower = ", new_string," | Convert text to lowercase letters")print('-'*75)new_string = var_string.find("a")print("var_string.find('a') = ", new_string," | Show the first character´s position in the text string, is case sensitive ")new_string = var_string.find("i")print("var_string.find('i') = ", new_string," | Remember is case sensitive ")new_string = var_string.find("z")print("var_string.find('z') = ", new_string," | If there´s not a character the result is -1 ")print('-'*75)new_string = var_string.capitalize()print("var_string.capitalize = ", new_string,"| Convert the first character of the string into a capital letter")print('-'*75)if var_string.startswith('i'):print("if var_string.endswith('i'): print ('it´s true, te strings starts with: 'i' ')")print('it´s true, te strings ends with: "i"')print('-'*75)if var_string.endswith('t'):print("if var_string.endswith('t'): print ('it´s true, te strings ends with: 't' ')")print('it´s true, te strings ends with: "t"')print('-'*75)print('-'*75)#Operadores de pertenencia, nos permiten sabes si un substring, es decir una subsecuencia se encuentra en la secuencia mayor
#Por ejemplo la subsecuencia col esta dentro de colombia
#Distingue entre maysuculas y minusculas
print("Operadores de pertenencia")var_string ="Hola"print('var_string = "Hola"')if"Ho"invar_string:print('if "Ho" in var_string :')print('The substring "Ho" is into the string "Hola" ')print('-'*75)if"mundo!" not invar_string:print('if "mundo!" not in var_string :')print('var_string += "mundo!"') var_string +=" mundo!"print("var_string = ", var_string)#La función global dir nos dice los métodos que podemos utilizar dentro de un objeto
print('-'*75)print('The dir() function, show us all the methods that we can use with an element')print('For example:')print('dii(car_string)')print(dir(var_string))print('-'*75)print('-'*75)def my_function():"""Este es un texto de ayuda de como utilizar esta funcion""" pass
print(help(my_function))print('-'*75)print("Presiona enter para salir")input()
¿Cual sería la diferencia entre usar las comillas triples y el numeral (#) para colocar anotaciones? Supongo que el numeral no responde al comando help.
A la hora de hacer comentarios el ++#++ solo deja comentar una linea, por lo que si son varias líneas cada una necesita el ++#++ al inicio
Pero si comentar con triple comilla doble estas abarcar todas la líneas que quieras hasta que se cierren
#solo sirve
#para una linea
"""
sirve
para
muchas
lineas
"""
En Windows para salir del operador ‘help’, y volver a la consola tenemos que pulsar ‘q’.
No solo en Windows, funciona igual en LInux y MacOS
Estos son metodos de formato en Python:.
Convertir a mayúscula la primera letra
Método: capitalize()
Retorna:
una copia de la cadena con la primera letra en mayúsculas.
cadena = "bienvenido a mi aplicación"
print cadena.capitalize()
Bienvenido a mi aplicación
Convertir una cadena a minúsculas
Método: lower()
Retorna: una copia de la cadena en minúsculas.
cadena = "Hola Mundo"
print cadena.lower()
hola mundo
Convertir una cadena a mayúsculas
Método: upper()
Retorna: una copia de la cadena en mayúsculas.
cadena = "Hola Mundo"
print cadena.upper()
HOLA MUNDO
Convertir mayúsculas a minúsculas y viceversa
Método: swapcase()
Retorna: una copia de la cadena convertidas las mayúsculas en minúsculas y viceversa.
cadena = "Hola Mundo"
print cadena.swapcase()
hOLA mUNDO
Convertir una cadena en Formato Título
Método: title()
Retorna: una copia de la cadena convertida.
cadena = "hola mundo"
print cadena.title()
Hola Mundo
Centrar un texto
Método: center(longitud[, “caracter de relleno”])
Retorna: una copia de la cadena centrada.
cadena = “bienvenido a mi aplicación”.capitalize()
print cadena.center(50, “=”)
=Bienvenido a mi aplicación==
print cadena.center(50, " ")
Bienvenido a mi aplicación
Alinear texto a la izquierda
Método: ljust(longitud[, “caracter de relleno”])
Retorna: una copia de la cadena alineada a la izquierda.
cadena = “bienvenido a mi aplicación”.capitalize()
print cadena.ljust(50, “=”)
Bienvenido a mi aplicación=======================
Alinear texto a la derecha
Método: rjust(longitud[, “caracter de relleno”])
Retorna: una copia de la cadena alineada a la derecha.
cadena = “bienvenido a mi aplicación”.capitalize()
print cadena.rjust(50, “=”)
=======================Bienvenido a mi aplicación
print cadena.rjust(50, " ")
Bienvenido a mi aplicación
Rellenar un texto anteponiendo ceros
Método: zfill(longitud)
Retorna: una copia de la cadena rellena con ceros a la izquierda hasta alcanzar la longitud final indicada.
Estuve interactuando con los diferentes metodos de la lista y me gusto los resultados de muchas de ellas aunque en algunas me sale error.
¿Cuáles te gustaron más?
¿En cuáles te sale error?
help(): Accedemos a los docstrings que nos explica que hace la función.
La palabra más larga en español es "Anticonstitucionalmente"
La palabra más larga en inglés es: "pneumonoultramicroscopicsilicovolcanoconiosis"
Con la clase he querido probar el avance y decidi hacer una funcion que separe el nombre teniendo en cuenta los espacios, y los concatene con punto y coma, en código puro:
Para el eje_y: busco las posiciones donde hay espacios y las adiciono a un arreglo, y le agrego la longitud de la cadena como ultimo valor.
[4, 11, 20, 27]
Para el eje_x: Agrego el 0 al arreglo del eje_x, y hago el recorrido tomando como referencia el arreglo del eje_y, mientras que el valor i del eje_y que estoy recorriendo, sea menor al maximo valor del eje_y sumare en 1 y lo adicionare al arreglo del eje_x.
[0, 5, 12, 21] =[0,4+1,11+1,20+1]
creo la funcion separar nombre y le paso 3 parametros (nombre, ejex, ejey) hago el recorrido del eje_y, podría tomar también el eje_x, ambos tienen la misma longitud, y almaceno en la variable complete_name el nombre separado por eje_x y eje_y (start, end), y hago una condición para agregar el punto y coma.
Claro esta, no quiero reinventar la rueda, hay otras formas más sencillas que ya vienen con python, pero he querido entender el funcionamiento interno y hacerlo por mi cuenta para practicar, les dejo también las otras opciones.
#Second way
fname_space = fname.split()print(f'{fname_space}')print(f'{";".join(fname_space)}')
#third way
print(fname.replace(' ',';'))
Saludos chicos les dejo este link muy util para enriquezer esta clase.
30 métodos de las cadenas Python 3.9x+
center, centra la cadena de caracteres entre espacios o en el caracter que le pongamos como parametro
platzi.center(20)' platzi '
platzi.center(20,'x')'xxxxxxxplatzixxxxxxx'
A summary of docstring
⭐ 👀 Docstring in Python
Docstrings are accesible from the doc attribute (__doc__) for any of the Python objects and also with the built-in help() function.
Docstrings are great for understanding the functionality of the larger part of the code. They are a descriptive text written by a programmer mainly for themselves to know what the line of code does.
Docstring vs Commenting:
Docstrings are similar in spirit to commenting, but they are enhanced, more logical, and useful version of commenting. Docstrings acts as documentation for the class, module and packages.
On the other hand, Comments are mainly used to explain non-obvious portions of the code and can be useful for comments on Fixing bugs and tasks that are needed to be done.
The comment can´t be accessed with the built-in doc attribute and help function.
One-line Docstring
defsquare(a):'''Returned argument a is squared.'''#or you can use """ xxxx """return a**a
Multi-LineDocstring
defsome_function(argument1):"""Summary or Description of the Function
Parameters:
argument1 (int): Description of arg1
Returns:
int:Returning value
"""return argument1
Alguien me dice para que sirve pass?
el pass en python se usa cuando creas bloques de codigo sin intrucciones, aqui puedes verlo mejor ref_keyword_pass