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ónamiga
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'