Fundamentos de Programación - FFP 2020-01 U1-02 Tipos de Datos
Document Details
Uploaded by Deleted User
Universidad de Guayaquil
Harry Zurita, MSC
Tags
Summary
These notes cover programming fundamentals, specifically data types, with examples using the Python programming language. The material is aimed at an undergraduate level, and it comes from the Universidad de Guayaquil.
Full Transcript
FUNDAMENTOS DE PROGRAMACIÓN UNIDAD 1.2 VARIABLES Y TIPOS DE DATOS Ing. Harry Zurita, MSC [email protected] 1 UNIDAD 1. 2 INTRODUCCIÓN A LA PROGRAMACIÓN Objetivo Unidad 1.2: Aprender como el lenguaje de programación almacena datos y realiza...
FUNDAMENTOS DE PROGRAMACIÓN UNIDAD 1.2 VARIABLES Y TIPOS DE DATOS Ing. Harry Zurita, MSC [email protected] 1 UNIDAD 1. 2 INTRODUCCIÓN A LA PROGRAMACIÓN Objetivo Unidad 1.2: Aprender como el lenguaje de programación almacena datos y realiza operaciones con los mismos. Contenidos 2.1. Tipos de datos, operadores lógicos y relacionales. 2.2. Conversiones entre tipos de datos y manejo de entrada 2.3. Operaciones con cadenas de caracteres. 2 / 20 ANTES DE EMPEZAR Sobre el IDLE de Python, básico reconocer lo siguiente: Existen dos áreas: Shell, Consola Probar una o pocas líneas de código Archivo.py Escribir nuestros programas cuando tengan 2 o mas líneas de código Deberes, proyectos 3 / 20 ANTES DE EMPEZAR (SHELL / CONSOLA / INTERPRETE) Si damos clic en File > New File abrimos un nuevo archive.py 4 / 20 ANTES DE EMPEZAR (ARCHIVO.PY) Escribimos nuestros programas y los ejecutamos con Run > Run Module o con la Tecla F5. Antes de ejecutarlos debemos grabarlos. Se ejecutan en la consola/Shell. 5 / 20 TIPOS DE DATO Concepto: Un tipo de dato es un conjunto de valores y operaciones asociadas a estos valores. Nos provee de ventajas como: Prevención y Detección de Errores Organización de ideas acerca de sus objetos Describen propiedades únicas de ciertos tipos TIPOS DE DATOS EN PYTHON Tipos de Dato Tipo de Dato en Python Texto str Numéricos int, float, complex Secuencias list, tuple, range Mapeo dict Conjuntos set, frozenset Booleanos bool Binarios bytes, bytearray, memoryview TIPOS DE DATOS EN PYTHON Tipos de Dato Tipo de Dato en Python Texto str Los revisaremos en: Numéricos int, float, complex En esta Unidad Secuencias list, tuple, range 2da Unidad 3ra Unidad Mapeo dict Conjuntos set, frozenset Booleanos bool Binarios bytes, bytearray, memoryview TIPOS DE DATOS BÁSICOS Podríamos decir que los tipos de datos básicos de Python son los booleanos (bool), los numéricos (int y float) y las cadenas de caracteres(str). int – representa a los enteros positivos, negativos y el cero. Ej.: … -4, -3, -2, -1, 0, 1, 2, 3, 4 … float – representa a los números reales, punto flotante o decimales. Ej.: 3.27 (Separador de los decimales es un PUNTO). Otro Ejemplo: 3.0. bool – representa a los números Boléanos. Conjunto de valores: True y False. Observar que la primera letra es mayúscula. str: representan las cadenas caracteres. Ej: "Texto 123%^@" type: Función de Python para saber el tipo de dato de un objeto >>> type(5) int >>> type(3.0) float CONVERTIR TIPO (CASTING) Se puede convertir un objeto de un tipo de dato a otro, con funciones que tienen el mismo nombre que los tipos de datos: float(3) convierte el int 3 a un float 3.0 int(3.9) trunca el float 3.9 a un int 3 int("123") convierte el str "123" en un int 123 str(2) convierte el int 2 en el str "2" IMPRIMIR EN LA CONSOLA Para mostrar algo en la consola se usa la función print >>> 3+2 5 (Solo para vista previa) >>> print(3+2) 5 (Realmente imprimiendo el valor) IMPRIMIR EN LA CONSOLA (EJEMPLOS) print("Hola mundo") # un valor str print("Hola", nombre) # un valor str y una variable(Numérica/Str/etc). (Separadas con comas print("Hola", nombre, sep="", end="").Valores opcionales para cambiar la separación(sep) y el final de línea(end). Por defecto sep es un espacio y end es un salto de línea(eol). EXPRESIÓN Para formar una expresión hay que combinar objetos y operadores. Una expresión tiene un valor, y este a su vez tiene un tipo Sintaxis para una expresión simple: donde, El objeto 1 tiene un valor y un tipo El objeto 2 tiene un valor y un tipo La expresión( ) tiene un valor y un tipo OPERADORES PARA TIPOS DE DATOS NUMÉRICOS INT Y FLOAT x + y: la suma x - y: la resta x * y: el producto x / y: la división x // y: la división discreta (el resultado es un numero entero) x % y: el residuo (el resultado es lo que sobra de "x // y") x ** y: Ia potencia (x elevado a la y) OPERACIONES SIMPLES Los paréntesis pueden ser usados para dar prioridad en Python Sin paréntesis el orden de prioridad es: 1. ** 2. * 3. / 4. + y – se ejecutan de izquierda a derecho, como se presentan en la expresión. ASIGNACIÓN DE VARIABLES El signo de igual = es para asignar un valor a una variable pi = 3.14159 pi_approx = 22/7 El valor se almacena en la memoria de la computadora Una asignación ata(binds) una variable con un nombre Con el nombre de la variable se puede acceder al valor ABSTRACTING EXPRESSIONS ¿Por que dar un nombre a una expresión? Para reusar el nombre y no los valores Es mas sencillo cambiar el código después pi = 3.14159 radio = 2.2 área = pi*(radio**2) PROGRAMACION VS MATEMATICAS En programación, no “se busca el valor de x” pi = 3.14159 radio = 2.2 # área de un circulo área = pi*(radio**2) radio = radio+1 Expresiones a la derecha son evaluadas para obtener un valor La variable a la izquierda es atada a este valor. "radio = radio +1" lo mismo que "radio +=1" CAMBIAR A QUE VALOR ESTA ATADO NUESTRA VARIABLE Se puede volver a atar una variable usando el signo de asignación = El valor anterior talvez siga en memoria pero se vuelve inaccesible El valor de área no cambia hasta que le diga a la computadora que cambie pi = 3.14 radio = 2.2 # área de un circulo área = pi*(radio**2) radio = radio+1 CADENAS DE CARACTERES (STR) Letras, dígitos, espacios y caracteres especiales. Encerrados en comillas sencillas o dobles. nombre_universidad = "Universidad de Guayaquil" Para concatenar(Unir) str utilizamos el operador +: nombre = “Harry“ apellido = "Zurita” nombre_completo = nombre + apellido En Python, Se pueden realizar algunas operaciones con str (Como la *). barra = “Vamos” + “ "+ nombre * 3 20 / 20 INPUT/OUTPUT: PRINT print Se usa para imprimir en consola. x = 5 print(x) //Imprime “5” Se pueden imprimir variables y valores separándolos con comas print("mi # fav. es ", x) // Imprime “mi # fav es 5” print("mi # fav. es ", x, "y no", 3) // Imprime “mi # fav es 5 y no 3” El primer ejemplo tiene 2 argumentos y el segundo 4. Enlace: https://www.programiz.com/python- programming/methods/built-in/print. 21 / 20 INPUT/OUTPUT: INPUT() input() o input(argumento) Sirve para que el usuario ingrese algún valor que será asignado a una variable Muestra en pantalla el argumento que se le pase. Se puede pasar ningún argumento o máximo un argumento(Usualmente un str indicándole al usuario que se le esta pidiendo). El usuario ingresa algo y presiona enter para indicarle al interprete que debe continuar leyendo la siguiente línea de código. La función devuelve siempre un str. INPUT/OUTPUT: INPUT() Ejemplo: variable = input("Diga su nombre: ") #válido variable = input() #válido variable = input("Ingrese la edad de", nombre) #no valido, pasa dos argumentos variable = input("Ingrese la edad de"+nombre) #valido, 1 solo argumento str numero= int(input(" Escriba un número entero: ")) #valido, para convertir a int lo que escriba el usuario OPERACIONES DE COMPARACIÓN EN INT , FLOAT Y STRING i y j son variables El resultado de las siguientes expresiones son de tipo bool (Boléanos). i>j i >= j i, "B" da como resultado False, porque la A tiene un valor menor en código ascii, se puede utilizar para ordenar alfabéticamente cadenas de caracteres. 27 / 20 MÉTODOS STR Los objetos STR en Python tienen métodos para modificar o analizar su valor. Los métodos a diferencia de las funciones se escriben seguidas de un punto(“.”) al final de la str. Algunos Métodos: upper(): mayúsculas. Ej: “Harry”.upper(), devuelve HARRY lower:() minúsculas. Ej: “Harry”.upper(), devuelve harry find(X): Devuelve la posición de la primera vez que aparece X en un str. Ej:, devuelve 0, porque H esta en la primera posición de la cadena Ej: "Harry".find(“r"), devuelve 2, porque la primera r esta en la tercera posición de la cadena Ej: "Harry".find(“x"), devuelve -1, porque x no existe en la cadena Mas métodos: https://docs.python.org/3.6/library/stdtypes.html#string-methods 28 / 20 STR ÍNDICES Los corchetes pueden ser usados para obtener el valor de un character en una posición. s = "abc" s devuelve "a" s devuelve "b" s devuelve "c" s devuelve ERROR (out of bound) s[-1 ] devuelve "c" s[-2] devuelve "b" s[-3] devuelve "a" 29 / 20 STR SLICING Se puede obtener partes de la cadena usando [start:stop:step] Start: Donde comienza(Inclusive). [Por defecto: 0] Stop: Donde termina(No inclusive). [Por defecto: El final del texto] Step: Saltos que da. [Por Defecto: 1] Ejemplos s = "Universidad" U n i v e r s i d a d s[3:6:1] devuelve 'ver’ 0 1 2 3 4 5 6 7 8 9 10 11 s[0:6:1] devuelve ‘univer’ s[1:6:2] devuelve 'nvr’, o s[1:7:2] -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 s[1:6:3] devuelve “ne" Se pueden usar también negativos s[4:1:-1] devuelve “evi“ 30 / 20 s[-1:-3:-1] devuelve "da" STR SLICING Si se omiten valores se toman los valores por defecto. [start:stop:step] Start: Donde comienza(Inclusive). [Por defecto: 0] Stop: Donde termina(No inclusive). [Por defecto: El final del texto] Step: Saltos que da. [Por Defecto: 1] Ejemplos U n i v e r s i d a d s = "Universidad" 0 1 2 3 4 5 6 7 8 9 10 11 s[7::1] devuelve ‘idad’ s[7::] devuelve ‘idad’ -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 s[-3::1] devuelve "ado“ s[::-1] devuelve 'dadisrevinU’ que es la cadena de caracteres completa al reves s[::] devuelve "abcdefgh", es equivalente a s[0:len(s):1] 31 / 20 STR SON INMUTABLES Los strings son “inmutables” – no se pueden modificar. s = “Juayaquil" s = ‘G’ da error s = ‘G’ + s[1:] esta permitido, se ata a un nuevo objeto 32 / 20 REFERENCIAS MIT OPEN COURSEWARE