""" Strings: ordenados, inmutables, representan texto """ # creación mi_string = "Hello World" mi_string = 'Hello World' mi_string = "Tengo una ' dentro" mi_string = 'Tengo una \' dentro' mi_string = """Hello World""" # sin salto de linea mi_string = """Hello \ World""" # acceder a substrings por índice mi_char = mi_string[0] # W # índice negativo (-1) mi_char = mi_string[-1] #d # los string son inmutables try: mi_string[0] = 'h' msg = mi_string[0] except TypeError as TE: msg = TE finally: print(msg) # 'str' object does not support item assignment # slicing sub_string = mi_string[1:5] # ello # step sub_string = mi_string[::2] # HloWrd # step negativo sub_string = mi_string[::-1] # dlroW olleH nombre, saludo= 'Roberte', 'Hola' # concatenación + frase = saludo + ' ' + nombre # Hola Roberte # itrerar string for l in frase: pass # verificar si una letra es parte del string if 'e' in frase: pass mi_string = ' Hola Mundo ' # remover espacios con strip() mi_string = mi_string.strip() # 'Hola Mundo' # strip() no modifica al string, para guardar se debe asignar # upper() mi_string = mi_string.upper() # HOLA MUNDO # lower() mi_string = mi_string.lower() # hola mundo # startswith(): retorna True si el string # comienza con el string pasado como argumento mi_string.startswith('h') # True # endswith(): retorna True si el string # termina con el string pasado como argumento mi_string.endswith('ndo') # True # find(): retorna el índice de la primera coincidencia # el sub-string pasado como argumento, si no lo encuentra # retorna -1 mi_string.find('o') # 1 # count(): retorna la cuenta de existencias del sub-string # pasado como argumento mi_string.count('ol') # replace(): reemplaza un sub-string con el sub-string # pasado como argumento, retona un nuevo string, no reemplaza # al orignal mi_string.replace('mundo', 'Universo') # 'hola Universo' # si no encientra el sub-string solo devuelve el original # split(): divide el string según el sub-string pasasdo # como argumento, ' ' por defecto # devuelve una lista mi_lista = mi_string.split() # ['hola', 'Universo'] # crear string con join() nuevo_str = ' '.join(mi_lista) from timeit import default_timer as timer mi_lista = ['a'] * 100000000 start = timer() mi_string = '' # forma incorrecta, evitar for i in mi_lista: mi_string += i total = timer() - start total = round(total, 3) print('la forma incorrecta demoró:\n\t', total, 'segundos') # 10.632 segundos start = timer() mi_string = '' # forma correcta mi_string = ''.join(mi_lista) total = timer() - start total = round(total, 3) print('join() demoró:\n\t', total, 'segundos') # 0.568 segundos var1, var2, var3, var4 = 'Antuco', 5, 3.123456, True # formateo de string f"% " % mi_string = "las variables son %s, %d, %d, %.2f, %r" % (var1, var2, var3, var3, var4) # las variables son Antuco, 5, 3, 3.12, True # formateo de string format() mi_string = "las variables son {}, {}, {:.2f}, {}, {}".format(var1, var2, var3, var3, var4) # las variables son Antuco, 5, 3.123456, 3.12, True # metodo recomendado # formateo de string f" {var}" mi_string = f"las variables son {var1}, {var2*5}, {round(var3, 2)}, {var3}, {var4}" # permite operar sobre las variables ej. var2 y var3 # las variables son Antuco, 25, 3.123456, 3.12, True