Vista previa del material en texto
In [1]: #Operaciones con strings / cadenas de caracteres #Dada la siguiente cadena: cadena = "bienvenido a mi aplicación" In [3]: #Convertir a mayúsculas la primera letra print (cadena.capitalize()) In [6]: #Convertir a mayúsculas toda la cadena cadena2 = cadena.upper() print (cadena2) In [7]: #Convertir a minúsculas toda la cadena print (cadena2.lower()) In [8]: #Convertir de mayúsculas a minúsculas y viceversa cadena3 = "Hola Mundo" print (cadena3.swapcase()) In [9]: #Mostrar un texto en formato titulo texto = "hola mundo" print (texto.title()) In [11]: #Centrar un texto #center(longitud[, "caracter de relleno"]) print (texto.center(50, "=")) In [12]: print (texto.center(50, " ")) In [13]: #Alinear a izquierda #ljust(longitud[, "caracter de relleno"]) print (texto.ljust(50, "=")) Bienvenido a mi aplicación BIENVENIDO A MI APLICACIÓN bienvenido a mi aplicación hOLA mUNDO Hola Mundo ====================hola mundo==================== hola mundo hola mundo======================================== opercstrings about:srcdoc 1 of 8 7/8/21 11:52 In [14]: #Alinear a derecha #rjust(longitud[, "caracter de relleno"]) print (texto.rjust(50, "=")) In [15]: #Rellenar un texto anteponiendo ceros #zfill(longitud) nro_factura = 1575 print (str(nro_factura).zfill(12)) In [17]: #Contar la cantidad de apariciones de una subcadena #count("subcadena" [, posicion_inicio, posicion_fin]) texto = "Hola, este es mi mundo" print (texto.count("e")) print (texto.count("es")) print (texto.count("mi")) In [19]: #Buscar una subcadena dentro de otra #find("subcadena" [, posicion_inicio, posicion_fin]) #Obtiene la posición donde inicia la subcadena dentro de cadena. S i no la encuentra, retorna -1. print (texto.find("mi")) print (texto.find("mi", 0, 10)) In [22]: #Saber si una cadena comienza con una subcadena determinada #startswith("subcadena" [, posicion_inicio, posicion_fin]) print (texto.startswith("Bienvenido")) print (texto.startswith("Hola")) print (texto.startswith("mi", 14)) In [23]: #Saber si una cadena finaliza con una subcadena determinada #endswith("subcadena" [, posicion_inicio, posicion_fin]) print (texto.endswith("mundo")) ========================================hola mundo 000000001575 3 2 1 14 -1 False True True True opercstrings about:srcdoc 2 of 8 7/8/21 11:52 In [26]: #Saber si una cadena es alfanumérica cadena1 = "pepegrillo 75" print (cadena1.isalnum()) cadena2 = "pepegrillo" print (cadena2.isalnum()) cadena3 = "75" print (cadena3.isalnum()) cadena4 = "pepegrillo75" print (cadena4.isalnum()) In [27]: #Saber si una cadena es alfabética cadena1 = "pepegrillo 75" print (cadena1.isalpha()) cadena2 = "pepegrillo" print (cadena2.isalpha()) cadena3 = "75" print (cadena3.isalpha()) cadena4 = "pepegrillo75" print (cadena4.isalpha()) False True True True False True False False opercstrings about:srcdoc 3 of 8 7/8/21 11:52 In [29]: #Saber si una cadena es numérica cadena1 = "pepegrillo 75" print (cadena1.isdigit()) cadena2 = "pepegrillo" print (cadena2.isdigit()) cadena3 = "75" print (cadena3.isdigit()) cadena4 = "pepegrillo75" print (cadena4.isdigit()) cadena5 = "75.3" print (cadena5.isdigit()) In [33]: #Saber si una cadena contiene solo minúsculas / mayúsculas cadena = "pepe grillo" print (cadena) print (cadena.islower()) print (cadena.isupper()) cadena = "Pepe Grillo" print (cadena) print (cadena.islower()) print (cadena.isupper()) cadena = "pepe grillo".upper() print (cadena) print (cadena.islower()) print (cadena.isupper()) In [35]: #Saber si una cadena contiene solo espacios en blanco print (cadena.isspace()) print (" ".isspace()) False False True False False pepe grillo True False Pepe Grillo False False PEPE GRILLO False True False True opercstrings about:srcdoc 4 of 8 7/8/21 11:52 In [38]: #Reemplazar texto en una cadena #replace("subcadena a buscar", "subcadena por la cual reemplazar") buscar = "nombre apellido" reemplazar_por = "Juan Pérez" print ("Estimado Sr. nombre apellido:".replace(buscar, reemplazar_ por)) In [40]: #Eliminar caracteres a la izquierda y derecha de una cadena #strip(["caracter"]) cadena = " www.campus.unlc.edu.ar " print (cadena.strip()) In [42]: #Eliminar caracteres a la izquierda de una cadena #lstrip(["caracter"]) cadena = "www.campus.unlc.edu.ar" print (cadena.lstrip("w." )) In [44]: #Eliminar caracteres a la derecha de una cadena #rstrip(["caracter"]) print (cadena.rstrip("ar")) In [45]: #Unir una cadena de forma iterativa #join(iterable) #La cadena unida con el iterable (la cadena es separada por cada u no de los elementos del iterable). formato_nro_factura = ("No 0000-0", "-0000 (ID: ", ")") numero = "275" nro_factura = numero.join(formato_nro_factura) print (nro_factura) In [46]: #Partir una cadena en tres partes, utilizando un separador #partition("separador") #Una tupla de tres elementos donde el primero es el contenido de l a #cadena previo al separador, el segundo, el separador mismo y el t ercero, el #contenido de la cadena posterior al separador. tupla = "http://www.campus.unlc.edu.ar".partition("www.") print (tupla) Estimado Sr. Juan Pérez: www.campus.unlc.edu.ar campus.unlc.edu.ar www.campus.unlc.edu. No 0000-0275-0000 (ID: 275) ('http://', 'www.', 'campus.unlc.edu.ar') opercstrings about:srcdoc 5 of 8 7/8/21 11:52 In [47]: #Partir una cadena en varias partes, utilizando un separador #split("separador") #Una lista con todos elementos encontrados al dividir la cadena po r un separador. keywords = "python, guia, curso, tutorial".split(", ") print (keywords) In [48]: #Partir una cadena en líneas #una lista donde cada elemento es una fracción de la cadena divida en líneas. texto = """Linea 1 Linea 2 Linea 3 Linea 4 """ print (texto.splitlines()) texto = "Linea 1\nLinea 2\nLinea 3" print (texto.splitlines()) In [49]: #Formateo de datos sustituyendolos automáticamente en una cadena #format(*args, **kwargs) texto = "Importe bruto: ${0} + IVA: ${1} = Importe neto: {2}" print (texto.format(100, 21, 121)) In [50]: texto = "Importe bruto: ${bruto} + IVA: ${iva} = Importe neto: {ne to}" print (texto.format(bruto=100, iva=21, neto=121)) ['python', 'guia', 'curso', 'tutorial'] ['Linea 1', 'Linea 2', 'Linea 3', 'Linea 4'] ['Linea 1', 'Linea 2', 'Linea 3'] Importe bruto: $100 + IVA: $21 = Importe neto: 121 Importe bruto: $100 + IVA: $21 = Importe neto: 121 opercstrings about:srcdoc 6 of 8 7/8/21 11:52 In [52]: #Otro método de formateo: Operador de interpolación #El caracter % es el operador de interpolación. #Primero se indica la % seguido de una letra que indica el formato #Luego, se usa el % seguido del valor a interpolar. """ Tipos de datos posibles de utilizar: %c = str, simple carácter. %s = str, cadena de carácter. %d = int, enteros. %f = float, coma flotante. %o = octal. %x = hexadecimal. """ tipo_calculo = "raíz cuadrada de dos" valor = 2**0.5 print ("El resultado de %s es %f" % (tipo_calculo, valor)) #Podemos agregar al formato float, la cantidad de ceros después de la coma decimal print ("El resultado de %s es %.8f" % (tipo_calculo, valor)) In [57]: #Uso mas avanzado del format() #Alinear una cadena de caracteres a la derecha en 30 caracteres print ("{:>30}".format("raíz cuadrada de dos")) In [58]: #Alinear una cadena de caracteres a la izquierda en 30 caracteres, creando espacios a la derecha print ("{:30}".format("raíz cuadrada de dos")) In [59]: #Alinear una cadena de caracteres al centro en 30 caracteres print ("{:^30}".format("raíz cuadrada de dos")) In [60]: #Truncamiento a 9 caracteres print ("{:>30.9}".format("raíz cuadrada de dos")) El resultado de raíz cuadrada de dos es 1.414214 El resultado de raíz cuadrada de dos es 1.41421356 raíz cuadrada de dos raíz cuadrada de dos raíz cuadrada de dos raíz cuad opercstrings about:srcdoc 7 of 8 7/8/21 11:52 In [62]: #Formateo de números, rellenando con espacios print ("{:4d}".format(10))print ("{:4d}".format(100)) print ("{:4d}".format(1000)) print ("{:7.3f}".format(3.1415926)) print ("{:7.3f}".format(153.21)) In [63]: #Formateo de números, rellenando con ceros print ("{:07.3f}".format(3.1415926)) print ("{:07.3f}".format(153.21)) In [83]: #Escapeado de caracteres #Para escapar caracteres dentro de cadenas de caracteres se usa el carácter \ seguido de cualquier carácter ASCII. # Debo anteponer \ para que escapee el caracter print ("El signo backslash es \\") print ("Este es un texto con comillas \"") print ("Este texto no usa comillas simples ' usa dobles \"") print ('Este es un backspacee\b \\b') print ('Este es un tabulador \t, por eso me corrí') print ('Este es un line feed (LF) \n salto de linea') In [80]: print ('Este es un carriage return (CR) \r usado por Windows') In [ ]: 10 100 1000 3.142 153.210 003.142 153.210 El signo backslash es \ Este es un texto con comillas " Este texto no usa comillas simples ' usa dobles " Este es un backspace \b Este es un tabulador , por eso me corrí Este es un line feed (LF) salto de linea usado por Windowse return (CR) opercstrings about:srcdoc 8 of 8 7/8/21 11:52