8
programación
Segundo Semestre 2013
UNIVERSIDAD DE SANTIAGO DE CHILE
FACULTAD DE INGENIERÍA
Fundamentos de Computación y Programación (10110-1)
CLASE N8
Python reloaded
¿Qué es Python?
Un lenguaje de programación:
Interpretado
De propósito general que sustenta diferentes paradigmas
de programación
Lo usamos para programación imperativa
Podemosinteractuar con el intérprete
El prompt indica que
el intérprete esta listo
para recibir
instrucciones
2
1
Fundamentos de Computación y
programación
Segundo Semestre 2013
Valores númericos
Hasta ahora hemos visto que Python maneja tres
tipos de datos numéricos:
Enteros (int): 2, -2, -205, 1024
[-2147483648, 2147483647]
Enteros largos (long): 2L, -2L, -205L, 1024L, 2147483648L
Flotantes de 64bits (float): 2.1, -2.56, -3.234e-2
Valor más pequeño: 2.2250738585072014e-308
Valor más grande: 1.7976931348623157e+308
Menor diferencia entre dos números: 2.2204460492503131e-16
3
Expresiones aritméticas
Python permite operar valores numéricos
Operadores tradicionales con reglas de precedencia
tradicional:
** ; + y - unarios; *, /, % ; + y Las reglas de precedencia pueden cambiarseusando
paréntesis
Todos los operadores tienen asociatividad por la izquierda,
excepto el operador potencia
1 + 2 + 3 = ((1 + 2) + 3)
2 ** 3 ** 4 = (2 ** (3 ** 4))
4
2
Fundamentos de Computación y
programación
Segundo Semestre 2013
Expresiones aritméticas
Python prefiere mantener el tipo de dato
Vimos, por ejemplo, que si se operan dos enteros,
entonces Python intentará devolver unresultado entero
Pero si se combinan tipos numéricos en una expresión
aritmética, Python generaliza todos los valores antes de
operarlos
Enteros largos son más generales que los enteros
Los flotantes son más generales que los enteros largos y los enteros
5
Expresiones aritméticas
Python también cambia el tipo de dato
Cuando el resultado de una operación hace imposible
mantener el tipo dedato original
>>> 2 ** 31
2147483648L
>>>
Cuando cambiamos explícitamente el tipo de dato de un
valor por medio de funciones nativas
int(
float(
6
3
Fundamentos de Computación y
programación
Segundo Semestre 2013
Funciones nativas
Recordemos que las funciones nativas vienen con
Python
Simplemente las invocamos escribiendo su nombre eindicando los parámetros actuales que necesitan
También hemos visto:
round(x, n)
Redondea el valor flotante x a n decimales;
devuelve un flotante
abs(x)
Devuelve el valor absoluto de x
pow(x, y)
Calcula x elevado a y
7
Entrada
Pero quizás la función nativa más importante que
hemos visto sea input()
Toma como argumento un mensaje para el usuario
Detiene la ejecución del programa hasta queel usuario
“entra” una expresión Python (usualmente por teclado)
Devuelve el valor resultante de evaluar la expresión
ingresada
Nos permite obtener datos de entrada para un
programa
8
4
Fundamentos de Computación y
programación
Segundo Semestre 2013
Memoria
Los datos de entrada no serían de mucha utilidad si
no se pudieran recordar
Podemos solicitar a Python que recuerde un valorasignándolo a un nombre
La sintaxis de una asignación es la siguiente:
Por ejemplo:
valorInicial = input("¿Cuál fue el valor inicial?: ")
Este nombre asociado a un valor se conoce como variable
9
Funciones importadas
También hemos visto extensiones al lenguaje
Podemos importar funciones al lenguaje desde un módulo
from
Porejemplo el módulo math define funciones matemáticas
sin(), cos(), tan(), exp(), floor(), ceil(), etc.
Algunos módulos definen constantes
>>> from math import pi, e
>>> pi
3.1415926535897931
>>> e
2.7182818284590451
>>>
10
5
Fundamentos de Computación y
programación
Segundo Semestre 2013
Funciones propias
También podemos extender Python creando nuestras
propias funciones
Sintaxis:...
Regístrate para leer el documento completo.