Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como Alias (poner sobrenombres)

7.5. Comparación de cadenas

Los operadores de comparación trabajan sobre cadenas. Para ver si dos cadenas son iguales: 1: if palabra == "banana" : 2: print "S³, no tenemos bananas!" Otras operaciones de comparacion son utiles para poner palabras en orden alfabético: 1: if palabra < "banana" : 2: print "Tu palabra," + palabra + ", va antes de banana." 3: elif palabra > "banana" : 4: print "Tu palabra," + palabra + ", va despues de banana." 5: else : 6: print "Sí, no tenemos bananas!" Sin embargo, deber³a usted ser consciente de que Python no maneja las mayúsculas y minusculas como lo hace la gente. Todas las mayusuculas van antes de la minúsculas. Como resultado de ello: Tu palabra, Zapato, va antes de banana. Una forma comun de abordar este problema es convertir las cadenas a un formato estandar, como pueden ser las minusculas, antes de realizar la comparacion. Un prob...

7.6. Las cadenas son inmutables

Es tentador usar el operador [] en el lado izquierdo de una asignación, con la intención de cambiar un carácter en una cadena. Por ejemplo: 1: saludo = "Hola, mundo" 2: saludo[0] = 'M' # ERROR! 3: print saludo En lugar de presentar la salida Mola, mundo, este codigo presenta el siguiente error en tiempo de ejecucion TypeError : object doesn't 1: support item 2: assignment. Las cadenas son inmutables, lo que signi¯ca que no puede cambiar una cadena existente. Lo mas que puede hacer es crear una nueva cadena que sea una variacion de la original: 1: saludo = "Hola, mundo" 2: nuevoSaludo = 'M' + saludo[1:] 3: print nuevoSaludo Aquí la solución es concatenar una nueva primera letra a una porción de saludo. Esta operación no tiene efectos sobre la cadena original.

8.2. Acceso a los elementos

La sintaxis para acceder a los elementos de una lista es la misma que para acceder a los caracteres de una cadena: el operador corchetes []. La expresión dentro de los corchetes especifica el índice. Recuerde que los índices siempre comienzan en cero: 1: print numeros[0] 2: numeros[1] = 5 El operador [] puede aparecer en cualquier parte de una expresion. Cuando aparece a la izquierda de una asignacion, cambia uno de los elementos de la lista, de manera que el “unesimo” elemento de numeros, que era 123, ahora es 5. Se puede usar como índice cualquier expresion entera. 1: >>> numeros[3-2] 2: 5 3: >>> numeros[1.0] 4: TypeError: 5: sequence index must be integer Si intenta acceder (leer o modificar) un elemento que no existe, obtendra un error en tiempo de ejecución: 1: >>> numeros[2] = 5 2: IndexError: list assignment index out of 3: range Si se da un índice negativo, se cuenta hacia atras desde el final de la lista. ...

8.11. Alias (poner sobrenombres)

Como las variables apuntan a objetos, si asigna una variable a otra, ambas variables se refieren al mismo objeto: 1: >>> a = [1, 2, 3] 2: >>> b = a En este caso, el diagrama de estados sería como este: Como la misma lista tiene dos nombres diferentes, a y b, podemos decir que se le ha puesto un alias. Los cambios hechos a un alias afectan al otro: 1: >>> b[0] = 5 2: >>> print a 3: [5, 2, 3] Aunque este comportamiento puede ser útil, a veces es inesperado o indeseable. En general, es mas seguro evitar los alias cuando trabajemos con objetos mutables. Por supuesto, no hay problema con los objetos inmutables. Por ello Python se toma la libertad de poner alias a las cadenas cuando ve una oportunidad de economizar.