Algoritmos de Programación con Python

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.