![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Valor es uno de los elementos fundamentales (como por ejemplo una letra o un número) que manipula un programa. Los únicos valores que hemos visto hasta el momento son el resultado de sumar 1 + 1y el valor de cadena, "Hola, Mundo!". Usted (y el intérprete) son capaces de identificar valores de cadena porque están encerrados entre comillas.
Existen otros tipos de valores, entre ellos enteros y números decimales. Un entero es un número entero, como 1 o 17. Los números decimales son numeros que tienen una coma Obsérvese que en inglés, la coma decimal está representada por un punto como por ejemplo 1.0 ó 3.14159. Puede imprimir valores enteros o decimales igual que imprime cadenas:
>>> print 4
4
>>> print 2.17
2.17
Cada valor tiene su tipo. Si no está seguro del tipo que tiene un determinado valor, puede preguntárselo al intérprete de Python.
>>> type("Hola, Mundo!")
<type 'string'>
>>> type(17)
<type 'int'>
>>> type(3.2)
<type 'float'>
No es sorprendente que el tipo entero se llame int(por integer en inglés). El tipo decimal se lama floatdebido a la representación de estos números en el formato llamado de coma flotante.
Una de las características más potentes de los lenguajes de programación es la capacidad de manipular variables. Una variable es un nombre que hace referencia a un valor.
Para crear una variable nueva, déle un nombre y especifique el valor al que desee que la variable se refiera. La sentencia que lo lleva a cabo se llama asignación, pues asigna un valor a una variable.
>>> mensaje = "Como va eso?"
>>> n = 17
>>> pi = 3.14159
Del mismo modo que los valores tienen tipos, también los tienen las variables.
>>> type(mensaje)
<type 'string'>
>>> type(n)
<type 'int'>
>>> type(pi)
<type 'float'>
AUna forma habitual de representar variables sobre el papel es dibujar un recuadro con el nombre de la variable en el exterior. El recuadro contiene una flecha que apunta al valor de la variable. Este tipo de representación se llama diagrama de estado, ya que muestra en qué estado se halla cada una de las variables (considérelo como el "estado de ánimo" de la variable). El siguiente diagrama muestra el efecto de las tres sentencias de asignación anteriores:
Por convención, la mayoría de las variables en Python contienen solamente lettras minúsculas. Asimismo, la mayoría de las veces los programadores eligen nombres significativos para sus variables: esto permite documentar para qué se usa la variable.
Sin embargo, hay algunas reglas sobre lo que es un nombre legal en Python y lo que no:
>>> 76trombones = "gran desfile"
SyntaxError: invalid syntax
>>> mas$ = 1000000
SyntaxError: invalid syntax
>>> class = "Curso de Programación 101"
SyntaxError: invalid syntax
Python tiene 28 palabras reservadas:
and continue else for import not raise
assert def except from in or return
break del exec global is pass try
class elif finally if lambda print while
Ya hemos usado la sentencia print para mostrar valores; también podemos usarla para mostrar el valor asignado a una variable.
>>> print mensaje
Como va eso?
>>> print n
7
>>> print pi
3.14159
>>> mensaje
'Como va eso?'
La sentencia print puede imprimir múltiples valores en una única línea:
>>> print "El valor de pi es", pi
El valor de pi es 3.14159
Los Operadores son símbolos especiales que representan cálculos simples, como la suma y la multiplicación. Los valores que usa el operador se llaman operandos. Muchos de los operadores en Python hacen exactamente lo mismo que se espera de ellos, ya que se trata de símbolos matemáticos muy comunes. Por ejemplo, el operador para sumar dos enteros es +.
Las siguientes expresione son legales en Python y su significado es más o menos claro:
20+32 hora-1 hora*60+minuto minuto/60 5**2 (5+9)*(15-7)
Las expresiones pueden contener tanto valores como nombres de variables. En cada ocasión, el nombre de la variable se sustituye por su valor antes de llevar a cabo el cálculo.
La suma, resta y multiplicación hacen lo esperado, pero la división le puede sorprender. Por ejemplo, el siguiente programa:
hora = 11
minuto = 59
print "Numero de minutos desde la medianoche: ", hour*60+minute
print "Fraccion de la hora que ha pasado: ", minute/60
Número de minutos desde la medianoche: 719
Fraccion de la hora que ha pasado: 0
Cuando ambos operandos son enteros, el resultado ha de ser también un entero; por convención, la división de enterios simpre se redondea a la baja, incluso en casos como estos en los que el siguiente entero está muy próximo.
Una alternativa posible en este caso es el cálculo de un porcentaje y no el de una fracción:
print "Porcentaje de la hora que ha pasado: ", minuto*100/60
Porcentaje de la hora que ha pasado: 98
Cuando aparece más de un operador en una expresión, el orden de evaluación depende de las reglas de precedencia. Python sigue las mismas reglas de precedencia que los propios matemáticos para sus operaciones matemáticas. Los ingleses usan el acrónimo PEMDAS como regla parea recordar el orden de las operaciones:
mensaje-1 "Hola"/123 mensaje*"Hola" "15"+2
fruta = "platano"
bizcochoBueno = " pan de leche"
postre = fruta + bizcochoBueno
print postre
El operador * también funciona con cadenas; lleva a cabo la repetición. Por ejempo, 'Chiste'*3 is 'ChisteChisteChiste'. Uno de los operandos ha de ser una cadena, el otro ha de ser un entero.
Por un lado, esta interpretación de + y * cobra sentido por analogía con la suma y la multimplicación. Igual que 4*3es equivalente a 4+4+4, esperamos que "Fun"*3sea lo mismo que "Fun"+"Fun"+"Fun", y así es. Por otro lado, la concatenación y la repetición son de alguna manera muy diferentes de la adición y la multiplicación.
Como ejerecicio, nombre una propiedad que tengan la suma y la multiplicación y que la concatenación y repetición no tengan.
Hasta ahora hemos examinado los elementos de un programa (variables, expresiones y sentencias) por separado, sin hablar de cómo combinarlos.
Una de las características más útiles de los lenguajes de programación es su capacidad de tomar pequeños bloques de construcción y ensamblarlos. Por ejemplo, sabemos cómo añadir números y cómo imprimirlos; resulta que podemos hacer las dos cosas a un tiempo.
>>> print 17 + 3
20
print "Número de minutos desde la medianoche: ", hora*60+minuto
percentage = (minute * 100) / 60
ATENCIÓN: Hay límites al lugar donde pueden usarse ciertas expresiones. Por ejemplo, la parte izquierda de una sentencia de asignación tiene que ser un nombre de variable, no una exrpresión. Por tanto es ilegal lo siguiente: minute+1 = hour.
Conforme los programas van creciendo de tamaño y complicándose, se vuelven más complicados de leer. Los lenguajes formales son densos y con frecuencia es difícil observar un trozo de código y tratar de averiguar lo que hace, o por qué lo hace.
Por ello es una buena idea añadir notas a su programa que expliquen, en un lenguaje natural, qué hace el programa. Estas notas se llaman comentarios y se marcan con el símbolo #:
# caclcula el porcentaje de la hora que ha pasado ya
porcentaje = (minuto * 100) / 60
porcentaje = (minuto * 100) / 60 # atención: división de enteros
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |