Apuntes_Python/01_curso/Modulo_2/2-1a_strings_format.py
2022-12-24 22:41:20 -03:00

218 lines
5.3 KiB
Python

"""
STRINGs : Cadenas(secuencia) de caracteres
'Str' "Str"
Para multilinea usar 3 pares de cualquier tipo
"""
a_str = 'Hola Mundo!'
# * Acceso a caracter según posición
a_str[0] # retorna H
a_str[-1] # retorna !
# * Slicinf de un string
a_str[:4] # retorna HOLA
a_str[5:9] # retorna Mundo
# * Longitud String
len(a_str) # retorna 11
"""
Caracter de escape \\ (linea invertida SIMPLE)
para acceder a las secuencias de escape comunes
ej. ' " n r t
DECODIFICACION DE STRINGS
ej. codificar (de unicode a un byte array con codif. determinada)
decodificar ( de un byte array con una codif. determ. a unicode)
"""
a_str = 'Otoño'
# utf-8 encode
str_codific = a_str.encode('utf-8') # Respuesta: b'Oto\\xc3\\xb1o'
# utf-8 decode
str_codific.decode('utf-8') # Respuesta: 'Otoño'
# ASCCI no tiene estos caracteres.. lo cual da error
# str2 = "áéíóú"
# str3 = str2.encode('ascii')
"""
Unicode es la ley
STRINGs VARIABLES
nombre = "Reberte"
"Hola %s" % nombre
"Un nro. %d" % 5
"Nr0. de 2 digitos %02d" % 5
"Un float %f" % 6.4
"Float 2 digitos %.2f" % 2.54
"Hola %(name)s" % {'name': nombre }
"Hola {}".format(nombre)
"{0} + {1} es {2}".format(7,2,7+2)
FUNCION JOIN
*construye strings concatenando lista de vlaores
' ',join(["Hola", nombre])
', '.join(['1','2','3','4'])
help(str)
METODOS DE LOS STRINGs
NOMBRE ej. Resultado
capitalize 'word'.capitalize() 'Word'
center 'word'.center(10,'*') '**word**'
count 'word'.countd(d) 1
encode 'word'.encode('utf-8') b'word'
endswith 'word'.endswith('d') True
find 'wordw'.find('w') 0
rfind 'wordw'.rfind('w') 4
format 'Hola {}'.format('Elmo') 'Hola Elmo'
index 'wordw'.index('w') 0
rindex 'wordw'.rindex('w') 4
isalnum 'word'.isalnum() True
isalpha 'word'.isalpha() True
isdecimal '10'.isdecimal() True
isdigit '10'.isdigit() True
islower 'woRd'.islower() False
isnumeric '23'.isnumeric() True
isprintable 'word'.isprintable() True
isspace ' '.isspace() True
islitle 'Two Words'.islitle() True
isupper 'WORD'.isuper() True
lower 'woRd'.lower() 'word'
replace 'woRd'.replace('R','rl') 'world'
split '1-2-3-4'.split('-') ['1', '2', '3', '4']
startwith 'word'.startwith('w') True
strip ' word '.strip() 'word'
lstrip
rstrip
ljust 'word'.ljust(8) 'word '
rjust
swapcase 'WoRd'.swapcase() 'wOrD'
title 'a title'.title() 'A Title'
upper 'word'.upper() 'WORD'
zfill 'word'.zfill(10) '000000word'
rindex 'word'.
"""
r"""
Constanstes que define la libreria STRING
ascii_letters :
La concatenación de las letras minúsculas y letras mayúsculas.
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
ascii_lowercase :
Las letras minúsculas.
abcdefghijklmnopqrstuvwxyz
ascii_uppercase :
Las letras mayúsculas.
ABCDEFGHIJKLMNOPQRSTUVWXYZ
digits :
Los dígitos del sistema decimal.
0123456789
hexdigits :
Los dígitos del sistema hexadecimal.
0123456789abcdefABCDEF
octdigits :
Los dígitos del sistema octal.
01234567
punctuation :
Símbolos de puntuación.
!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~
printable :
Todos los caracteres considerados imprimibles.
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJK
MNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~
\t\n\r\x0b\x0c
whitespace :
Todos los caracteres considerados espacios en blanco.
\t\n\r\x0b\x0c
"""
"""
FORMATEO DE STRINGS
"""
name = 'Reberte'
print('Hola {}'.format(name))
# 'Hola Reberte'
print('{} + {} = {}'.format(2,5,7))
# '2 + 5 = 7'
print('{1} + {2} = {0}'.format(7,5,2))
# '5 + 2 = 7'
print('Hola {nombre}'.format(nombre = name))
# 'Hola Reberte'
tupla = 4, 3
type(tupla)
# <class 'tuple'>
print('X: {0[0]}; Y: {0[1]}'.format(tupla))
# 'X: 4; Y: 3'
print('{0:f} + {1:f} = {result:f}'.format(2, 5, result=7))
'2.000000 + 5.000000 = 7.000000'
print('{0:.3f} + {1:.3f} = {result:.3f}'.format(2, 5, result=7))
# '2.000 + 5.000 = 7.000'
print('{:d}'.format(25))
# '25'
# '{:d}'.format(25.5)
# Traceback (most recent call last):
# File "<stdin>", line 1, in <module>
# ValueError: Unknown format code 'd' for object of type 'float'
print('{:.0f}'.format(25.50))
# '26'
print('Hola {nombre:16}'.format(nombre=name))
# 'Hola Reberte '
print('Hola {nombre:<16}'.format(nombre=name))
# 'Hola Reberte '
print('Hola {nombre:>16}'.format(nombre=name))
# 'Hola Reberte'
print('Hola {nombre:^16}'.format(nombre=name))
# 'Hola Reberte '
print('Hola {nombre:*^16s}'.format(nombre=name))
# 'Hola ****Reberte*****'