Fundamentos de Programación - FFP 2020-01 U1-02 Tipos de Datos

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

Use Quizgecko on...
Browser
Browser