Ver índice de contenidos del libro

2.4. No sólo de números viven los programas

No sólo tendremos expresiones numéricas en un programa Python. Recuerden el programa que se usó para saludar a muchos amigos:

def hola(alguien):
    print "Hola", alguien, "!"
    print "Estoy programando en Python."

Para invocar a ese programa y hacer que saludara a Ana había que escribir hola("Ana").

La variable alguien en dicha invocación queda ligada a un valor que es una cadena de caracteres (letras, dígitos, símbolos, etc.), en este caso, "Ana".

Python usa también una notación con comillas simples para referirse a las cadenas de caracteres, y habla de 'Ana'.

Como en la sección anterior, veremos las reglas de qué constituyen expresiones con caracteres:

  • Un valor también acá es una expresión. Por ejemplo el resultado de la expresión 'Ana' es precisamente 'Ana'.
  • Una variable es una expresión, y el valor que produce es el que tiene asociado en el estado (si amiga → 'Ana' en el estado, entonces el resultado de la expresión amiga es la cadena 'Ana').
  • Usamos operaciones para combinar expresiones y construir expresiones más complejas, pero atención con qué operaciones están permitidas sobre cadenas.

El signo + no representa la suma sino la concatenación de cadenas: si amiga es como antes, amiga + 'Laura' es una expresión cuyo valor es AnaLaura.

Advertencia No se pueden sumar cadenas más números.

>>> amiga="Ana"
>>> amiga+'Laura'
'AnaLaura'
 
>>> amiga+3
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: cannot concatenate 'str' and 'int' objects
 
>>>

El signo * se usa para indicar cuántas veces se repite una cadena: amiga * 3 es una expresión cuyo valor es 'AnaAnaAna'.

Advertencia No se pueden multiplicar cadenas entre sí

>>> amiga * 3
'AnaAnaAna'
 
>>> amiga * amiga
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can't multiply sequence by non-int of type 'str'

Copyright (c) 2011-2014 Rosita Wachenchauzer, Margarita Manterola, Maximiliano Curia, Marcos Medrano, Nicolás Paez. La copia y redistribución de esta página se permite bajo los términos de la licencia Creative Commons Atribución - Compartir Obras Derivadas Igual 3.0 siempre que se conserve esta nota de copyright.