218 lines
5.3 KiB
Python
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*****'
|
|
|
|
|