Você está na página 1de 14

Una variable es un espacio del sistema de almacenaje al que se le asigna un identificador o

nombre simblico donde se puede almacenar un valor


mi_valor = 5

Un identificador o variable debe estar formado por letras minsculas, maysculas, dgitos y/o el
carcter de subrayado (_), con una restriccin: que el primer carcter no sea un dgito; y adems
no puede coincidir con una palabra reservada o palabra clave.

El tipo de datos es lo que define lo que se va a almacenar en dicha variable. Los tipos de datos
pueden ser:

Numricos, y dentro de este estn los enteros y en coma flotante, es decir real con
decimales.
Cadenas de caracteres.
Lgicos o tambin llamados booleanos.

mi_entero = 5
mi_decimal = 3.1416 #observar que el separador decimal es el punto y no la coma
mi_cadena = En un lugar de la Mancha de cuyo nombre no quiero acordarme #observar que
la cadena debe estar encerrada entre comillas dobles o simples
mi_booleano = True

Como indica su nombre, a una variable se le puede volver a asignar un nuevo valor el nmero
de veces que se considere necesario.
mi_entero = 3

Hay que tener claro el sistema de tipo de cada lenguaje. El chequeo de la tipificacin de los datos
puede ocurrir tanto en la compilacin como en la ejecucin. Los tipados existentes son:

Tipado esttico. La comprobacin de tipificacin se realiza durante la compilacin, y no


durante la ejecucin. Un ejemplo de este tipo de lenguajes sera C en sus distintas
versiones.
Tipado dinmico. La comprobacin de tipificacin se realiza durante su ejecucin en vez
de durante la compilacin. Un ejemplo de este tipo de lenguajes sera Python.

Si un lenguaje impone fuertemente las reglas de tipificacin (es decir que slo permite las
conversiones de tipo de dato automticas que no hagan perder informacin), se le denomina
como fuertemente tipado; si no, dbilmente tipado.
El tipado esttico busca errores en los tipos de datos durante la compilacin y esto debera
incrementar la fiabilidad de los programas procesados.

Otro apartado a tener claro es el concepto de lenguaje compilado versus lenguaje interpretado.

Lenguaje compilado es aquel que una vez escrito el programa, ste debe ser traducido
a partir de su cdigo fuente por medio de un compilador a un archivo ejecutable para
una determinada plataforma. Los programas compilados tienden a ser ms rpidos que
los traducidos en tiempo de ejecucin, aunque cada vez el proceso de traduccin en los
interpretados estn empezando a reducir esta brecha.
Lenguaje interpretado es aquel en el que las instrucciones se traducen o interpretan una
a una en tiempo de ejecucin a un lenguaje intermedio o lenguaje mquina o a travs
de una mquina virtual, y sola ser ms lentos que los lenguajes compilados.

Los comentarios en programacin mejoran en gran medida la legibilidad de nuestro cdigo y


sirven como instrucciones o explicaciones del funcionamiento de una parte del programa.
Existen 2 tipos de comentarios, los que ocupan una sola lnea y los que pueden ocupar varias
lneas
# As se pone un comentario en Python en una sola lnea
Y este otro comentario es vlido
aunque ocupe varias lneas.
Slo acaba el comentario cuando se cierra el mismo

El concepto de sentencia es el de una lnea de cdigo en un lenguaje de programacin.

Los operadores aritmticos toman valores numricos (literales o variables) como operandos y
devuelve un solo valor numrico. Los operadores aritmticos normales son:
1.
2.
3.
4.
5.
6.
7.
8.

Suma (+)
Resta (-)
Multiplicacin (*)
Divisin (/)
Exponenciacin (**)
Mdulo (%)
Divisin baja - Devuelve el entero de la divisin (//)
Operadores unarios (+ y -)

variable = 9
resultado = variable / 3
print(resultado)

Recordar la precedencia que va de izquierda a derecha dentro de los operadores aritmticos es:
exponenciacin, operadores unarios, multiplicacin/divisin/mdulo y suma/resta; y que la
misma puede ser alterada por medio de parntesis y corchetes.

....................EJERCICIOS................
I.

II.

Qu resultados se obtendrn al evaluar las siguientes expresiones Python? Dibuja el rbol


sintctico de cada una de ellas, calcula a mano el valor resultante de cada expresin y
comprueba, con la ayuda del ordenador, si tu resultado es correcto.
a) 2 + 3 + 1 + 2

b) 2 + 3 * 1 + 2

c) (2 + 3) * 1 + 2

d) (2 + 3) * (1 + 2)

e) +---6

f) -+-+6

Traduce las siguientes expresiones matemticas a Python y evalalas. Trata de utilizar el


menor nmero de parntesis posible.
4+6

a) 2 + (3 (6/2))

b)

d) (4/2)5+1

e) (3)2

c) (4/2)5

2+3

f) (32)

(Nota: El resultado de evaluar cada expresin es: a) 11; b) 2; c) 32; d) 64; e) 9; f) 9.)

rbol sintctico

Los operadores de asignacin son utilizados para asignar un valor a una variable. Estos
operadores son:

=
+=
-=
*=
/=
%=
**=
//=

c = a + b (se asigna el valor de a + b en c)


c += a es lo mismo que c = c + a
c -= a es lo mismo que c = c - a
c *= a es lo mismo que c = c * a
c /= a es lo mismo que c = c / a
c %= a es lo mismo que c = c % a
c **= a es lo mismo que c = c ** a
c //= a es lo mismo que c = c // a

Los operadores de comparacin se utilizan para comparar dos variables o expresiones y obtener
un resultado Verdadero o Falso (True o False). Estos operadores son:

== evala como verdadero si 2 variables son iguales.


!= evala como verdadero si 2 variables son diferentes.
> verdadero si el operador a la izquierda es mayor que el de la derecha.
< verdadero si el operador a la izquierda es menor que el de la derecha.
>= verdadero si el operador a la izquierda es mayor o igual al de la derecha.
<= verdadero si el operador a la izquierda es menor o igual al de la derecha.

2 == 2 # el resultado es True
variable1 != variable2 # el resultado depende del contenido de cada variable
3 + 1 <= 1 + 2 # el resultado es False

Los operadores lgicos u operadores booleanos combinan dos o ms condiciones simples y


devuelven un valor Verdadero o Falso (True o False). Existen en Python tres operadores lgicos:
1. and (y). Da como resultado el valor True si y slo si son ciertos sus dos operandos.

2. or(o). Proporciona True si cualquiera de sus operandos es True, y False slo cuando
ambos operandos son False.

3. not (no). Es unario, y proporciona el valor True si su operando es False y viceversa.

3 < 4 and 2 + 1 != 5 # el resultado es True ya que ambas condiciones simples son Verdaderas
not True # el resultado es False
....................EJERCICIOS................
I.

Qu resultar de ejecutar las siguientes sentencias?

>>> z = 2
>>> z += 2
>>> z += 2 - 2
>>> z *= 2
>>> z *= 1 + 1
>>> z /= 2
>>> z %= 3
>>> z /= 3 - 1
>>> z -= 2 + 1
>>> z -= 2
>>> z **= 3
>>> z

El tipo de datos cadena pueden usarse para representar informacin textual: nombres de
personas, nombres de colores, matrculas de coche... Las cadenas tambin pueden almacenarse
en variables.
nombre = Pablo
nombre += Snchez # ahora la variable contiene Pablo Snchez
No es lo mismo concatenar cadenas que sumar nmeros.

Hay un operador de repeticin de cadenas. El smbolo que lo denota es *, el mismo que es usado
para multiplicar enteros y/o flotantes. El operador de repeticin necesita dos datos: uno de tipo
cadena y otro de tipo entero. El resultado es la concatenacin de la cadena consigo misma tantas
veces como indique el nmero entero.

....................EJERCICIOS ................
I.

Evala estas expresiones y sentencias en el orden indicado:


a) = b
b) + b
c) + a
d) * 2 + b * 3
e) 2 * ( + b)

II.

Qu resultados se obtendrn al evaluar las siguientes expresiones y asignaciones Python?


Calcula primero a mano el valor resultante de cada expresin y comprueba, con la ayuda del
ordenador, si tu resultado es correcto.
a) a * 3 + /* * 5 + 2 * abc + +
b) palindromo = abcba
(4 * < + palindromo + > * 4) * 2
c) subcadena = = + - * 3 + =
10 * 5 + 4 * subcadena
d) 2 * 12 + . + 3 * 3 + e- + 4 * 76

III.

Identifica regularidades en las siguientes cadenas, y escribe expresiones que, partiendo de


subcadenas ms cortas y utilizando los operadores de concatenacin y repeticin,
produzcan las cadenas que se muestran. Introduce variables para formar las expresiones
cuando lo consideres oportuno.
a) %%%%%./././<-><->
b) (@)(@)(@)======(@)(@)(@)======
c) asdfasdfasdf=-=-=-=-=-=-=-??????asdfasdf
d) ........*****---*****---........*****---*****---

El concepto de comparacin entre nmeros es algo que resulta familiar porque se ha estudiado
antes en matemticas. En el caso de las cadenas los operadores == y != el significado est claro:
dos cadenas son iguales si son iguales carcter a carcter, y distintas en caso contrario. Pero en
el caso del resto de comparaciones (mayor, menor,) se utiliza un criterio de comparacin de
cadenas muy natural: el orden alfabtico; y cuando contienen caracteres no alfabticos se utiliza
los cdigos ASCII de los caracteres para decidir su orden alfabtico.
Para conocer el valor numrico que corresponde a un carcter, se utiliza la funcin predefinida
ord, a la que se le ha de pasar el carcter en cuestin como argumento.

La funcin inversa (la que pasa un nmero a su carcter equivalente) es chr.

Existen una serie de funciones predefinidas que funciones que podemos utilizar en las
expresiones. El argumento o argumentos de una funcin debe(n) ir encerrado(s) entre
parntesis:
La funcin abs, por ejemplo, calcula el valor absoluto de un nmero.

La funcin float: conversin a flotante. Cuando se le pasa una cadena, float la convierte en el
nmero flotante que sta representa.

La funcin int: conversin a entero. Si recibe un nmero flotante como argumento, devuelve el
entero que se obtiene eliminando la parte fraccionaria. Tambin acepta como argumento una
cadena.

La funcin str: conversin a cadena. Recibe un nmero y devuelve una representacin de ste
como cadena. Puede recibir como argumento una cadena, pero en ese caso devuelve como
resultado la misma cadena.

La funcin round: redondeo. Puede usarse con uno o dos argumentos. Si se usa con un solo
argumento, redondea el nmero al flotante ms prximo cuya parte decimal sea nula. Si recibe
dos argumentos, el segundo indica el nmero de decimales que deseamos conservar tras el
redondeo.

10

....................EJERCICIOS ................
I.
II.

Calcula con una nica expresin el valor absoluto del redondeo de 32. (El resultado es 3.0.)
Convierte (en una nica expresin) a una cadena el resultado de la divisin

5011/10000 redondeado con 3 decimales.


III.

Qu resulta de evaluar estas expresiones?

>>> str(2.1) + str(1.2)


>>> int(str(2) + str(3))
>>> str(int(12.3)) + 0
>>> int(2+3)
>>> str(2 + 3)
>>> str(int(2.1) + float(3))

11

Funciones definidas en mdulos, Python tambin proporciona funciones trigonomtricas,


logaritmos, etc., pero no estn directamente disponibles cuando iniciamos una sesin.
Antes de utilizarlas hemos de indicar a Python que vamos a hacerlo. Para ello, importamos cada
funcin de un mdulo.
Por ejemplo se puede empezar por importar la funcin seno (sin, del ingls sinus) del
mdulo matemtico (math), para despus poder utilizar la funcin.

Inicialmente Python no sabe calcular la funcin seno. Cuando importamos una funcin,
Python aprende su definicin y nos permite utilizarla.
Las definiciones de funciones residen en mdulos. Las funciones trigonomtricas residen en el
mdulo matemtico.
Si utilizamos un asterisco, se importan todos los elementos de un mdulo; aunque es
recomendable el importar elemento a elemento, ya que el programa gana en legibilidad, pues
sabemos de dnde proviene cada identificador y evita la posibilidad de que se haya definido
anteriormente una variable que coincida con el nombre del mdulo.

12

Los datos de ciertos tipos permiten invocar unas funciones especiales: los denominados
mtodos.
Un mtodo es una funcin de un objeto especfico. Una funcin es un fragmento de cdigo que
resuelve un problema particular o que desempea una tarea especfica.
Las cadenas permiten invocar mtodos sobre ellas.
Un mtodo permite, por ejemplo, obtener una versin en minsculas de la cadena sobre la que
se invoca.

La sintaxis es diferente de la propia de una llamada a funcin convencional. Lo primero que


aparece es el propio objeto sobre el que se efecta la llamada.
El nombre del mtodo se separa del objeto con un punto. Los parntesis de apertura y cierre al
final son obligatorios.
Existe otro mtodo, upper (uppercase, en ingls, significa maysculas), que pasa todos
los caracteres a maysculas.

Y otro, title que pasa la inicial de cada palabra a maysculas.

Algunos mtodos aceptan parmetros. El mtodo replace, por ejemplo, recibe como argumento
dos cadenas: un patrn y un reemplazo.
El mtodo busca el patrn en la cadena sobre la que se invoca el mtodo y sustituye todas sus
apariciones por la cadena de reemplazo.

13

La programacin estructurada es aquella en la que la estructura de un programa se compone de


3 posibles estructuras lgicas de control:

Secuencial: Sucesin simple de dos o ms operaciones.


Condicional: bifurcacin condicional de una o ms operaciones.
Iterativa: Repeticin de una operacin mientras se cumple una condicin.

14

Você também pode gostar