domingo, 19 de octubre de 2025

Python For Everybody (Py4E) Seccion 16. Visualizacion de datos.

 Aquí tienes un resumen del documento "Pythonlearn-16-Data-Viz.pptx":

Resumen elaborado con Gemini.
 
El documento "Pythonlearn-16-Data-Viz.pptx" se centra en la recuperación y visualización de datos, haciendo hincapié en el "Personal Data Mining" para mejorar las habilidades de programación en Python, más que en convertir a los usuarios en expertos en minería de datos.

Análisis de Datos Multi-Paso:

El proceso de análisis de datos se describe en varias etapas:
  • Recopilar (Gather): Obtener los datos de una fuente.
  • Limpiar/Procesar (Clean/Process): Preparar los datos para el análisis.
  • Analizar (Analyze): Realizar el análisis de los datos.
  • Visualizar (Visualize): Presentar los datos de forma gráfica.
Tecnologías de Minería de Datos:

Se mencionan diversas tecnologías de minería de datos como Hadoop, Spark, AWS Redshift y Pentaho, pero el enfoque del curso es el "Personal Data Mining" para el desarrollo de programadores Python.

Proyectos de Visualización de Datos:
  1. OpenGeo:
    • Crea un mapa anotado de Open Street Map a partir de datos introducidos por el usuario.
    • Utiliza la API GeoAPI con un proxy.
    • Almacena los datos en una base de datos para evitar límites de tasa y permitir reinicios.
    • Se visualiza en un navegador usando Open Street Map.
    • Los archivos asociados incluyen geodata.sqlite, geoload.py, geodump.py, where.data, where.js, where.html.
  2. Page Rank:
    • Implica escribir un rastreador de páginas web simple.
    • Calcula una versión simplificada del algoritmo Page Rank de Google.
    • Visualiza la red resultante.
    • Los archivos asociados incluyen spider.sqlite, spider.py, spdump.py, force.js, force.html, d3.js, spreset.py, sprank.py, spjson.py.
  3. Listas de Correo - Gmane:
    • Rastrea el archivo de una lista de correo.
    • Realiza análisis y limpieza de datos.
    • Visualiza los datos como una nube de palabras y gráficos de líneas.
    • Se advierte que el conjunto de datos es grande (> 1GB) y que la fuente original (gmane.org) ha sido cerrada. Se proporciona una copia de un subconjunto de datos para pruebas.
    • Los archivos asociados incluyen content.sqlite, gmane.py, mbox.dr-chuck.net, gword.js, gword.htm, d3.js, gword.py, gmodel.py, gbasic.py, gline.js, gline.htm, d3.js, gline.py, content.sqlite, mapping.sqlite.
Arquitectura de Motores de Búsqueda:

Se describe la arquitectura de los motores de búsqueda, que incluye:
  • Rastreo Web (Web Crawling): Un programa de computadora que navega por la World Wide Web de manera metódica y automatizada para crear una copia de las páginas visitadas para su posterior procesamiento.
    • Política de Rastreo Web: Incluye políticas de selección, revisión, cortesía y paralelización.
    • robots.txt: Un estándar informal y voluntario para que un sitio web se comunique con los rastreadores web, indicando qué partes del sitio no deben ser rastreadas.
  • Construcción de Índices (Index Building): Recopila, analiza y almacena datos para facilitar la recuperación rápida y precisa de información.
  • Búsqueda (Searching): La etapa final donde se utilizan los índices para encontrar documentos relevantes para una consulta de búsqueda.
Agradecimientos:

Las diapositivas son Copyright 2010- Charles R. Severance de la Universidad de Michigan y están disponibles bajo una licencia Creative Commons Attribution 4.0.

Python For Everybody (Py4E) Seccion 15. bases de datos

Resumen redactado por Gemini.

  

Aquí tienes un resumen del documento "Pythonlearn-15-Databases.pptx":


El documento "Pythonlearn-15-Databases.pptx" introduce el concepto de bases de datos relacionales y cómo interactuar con ellas usando Python, centrándose en SQLite.

Conceptos Clave:
  • Bases de Datos Relacionales: Modelan los datos almacenando filas y columnas en tablas. Su poder reside en la capacidad de recuperar datos eficientemente de múltiples tablas y las relaciones entre ellas.
  • Terminología:
    • Base de Datos: Contiene muchas tablas.
    • Relación (o Tabla): Contiene tuplas y atributos.
    • Tupla (o Fila): Un conjunto de campos que representa un "objeto" (por ejemplo, una persona o una canción).
    • Atributo (o Columna/Campo): Uno de los muchos elementos de datos que corresponden al objeto representado por la fila.
  • SQL (Structured Query Language): Es el lenguaje utilizado para emitir comandos a la base de datos, incluyendo:
    • Crear datos (Insertar).
    • Recuperar datos (Seleccionar).
    • Actualizar datos.
    • Eliminar datos.
  • Sistemas de Bases de Datos Comunes: Se mencionan Oracle, MySQL y SQL Server como los principales sistemas de gestión de bases de datos en uso, junto con proyectos más pequeños como HSQL, SQLite y Postgres.
  • SQLite: Es una base de datos muy popular, gratuita, rápida y pequeña, incrustada en Python y otros lenguajes. El documento recomienda el uso de SQLite Browser para manipular archivos SQLite directamente.
  • Modelo de Base de Datos (Esquema): Es la estructura o formato de una base de datos, descrito en un lenguaje formal compatible con el sistema de gestión de bases de datos.
  • Diseño de Bases de Datos: Implica dibujar una imagen de los objetos de datos para una aplicación y luego representar esos objetos y sus relaciones. Una regla básica es no duplicar datos, sino usar relaciones.
  • Normalización de Bases de Datos (3NF): Se refiere a la teoría de bases de datos que busca evitar la replicación de datos, utilizando referencias (punteros) en su lugar. Se recomienda usar números enteros para las claves primarias y foráneas.
  • Tipos de Claves:
    • Clave Primaria: Generalmente un campo entero de auto-incremento.
    • Clave Lógica: Lo que el mundo exterior usa para la búsqueda.
    • Clave Foránea: Generalmente una clave entera que apunta a una fila en otra tabla.
  • Relaciones Uno a Muchos y Muchos a Muchos:
    • Uno a Muchos: Una fila en una tabla se relaciona con múltiples filas en otra tabla.
    • Muchos a Muchos: Se modela añadiendo una tabla de "conexión" con dos claves foráneas.
  • Operación JOIN: Permite vincular varias tablas como parte de una operación SELECT, especificando cómo se conectan las tablas mediante una cláusula ON.
El documento también incluye ejemplos de código SQL para crear tablas, insertar, actualizar, eliminar y seleccionar datos, así como para realizar uniones entre tablas. Destaca que la complejidad del diseño de la base de datos permite la velocidad y la escalabilidad, al normalizar los datos y vincularlos con claves enteras.

Python For Every body (Py4E) Seccion 14. POO

 Aquí tienes un resumen del documento "Pythonlearn-14-Objects.pptx":


El documento "Pythonlearn-14-Objects.pptx" se enfoca en los objetos en Python y la programación orientada a objetos (POO).

Conceptos Clave:
  • Programación Orientada a Objetos (POO): Un programa se compone de muchos objetos que cooperan entre sí. Cada objeto es como una "isla" dentro del programa que trabaja en conjunto con otros objetos. Los programas se construyen con uno o más objetos que utilizan las capacidades de los demás.
  • Objeto: Es una porción de código y datos autocontenida. Un aspecto clave del enfoque de objetos es dividir el problema en partes más pequeñas y comprensibles. Los objetos tienen límites que permiten ignorar detalles innecesarios. Hemos estado utilizando objetos todo el tiempo: objetos de cadena (String), objetos de enteros (Integer), objetos de diccionario (Dictionary), objetos de lista (List), etc.
  • Clase: Una plantilla que define las características abstractas de una cosa (objeto), incluyendo sus atributos (campos o propiedades) y sus comportamientos (métodos, operaciones o características). Una clase es como un "plano" o "fábrica" que describe la naturaleza de algo.
  • Instancia: Un objeto particular de una clase, creado en tiempo de ejecución. El conjunto de valores de los atributos de un objeto particular se llama su "estado". El objeto consiste en el estado y el comportamiento definido en la clase del objeto. "Objeto" e "Instancia" a menudo se usan indistintamente.
  • Método: Las habilidades de un objeto. En el lenguaje de programación, los métodos son verbos. Usar un método generalmente afecta solo a un objeto particular; todos los perros pueden ladrar, pero solo necesitas un perro en particular para que ladre. "Método" y "Mensaje" a menudo se usan indistintamente.
  • Atributo (Field): Un dato dentro de una clase.
  • dir() y type():
    • El comando dir() lista las capacidades de un objeto. Ignora los que tienen guiones bajos, ya que son utilizados por Python internamente. El resto son operaciones reales que el objeto puede realizar.
    • type() nos dice el tipo de una variable.
  • Ciclo de Vida de un Objeto: Los objetos se crean, se usan y se descartan. Hay bloques de código especiales (métodos) que se llaman en el momento de la creación (constructor) y en el momento de la destrucción (destructor).
  • Constructor (__init__): El propósito principal del constructor es establecer algunas variables de instancia con los valores iniciales adecuados cuando se crea el objeto. Los constructores son muy utilizados, mientras que los destructores son poco comunes. Los constructores pueden tener parámetros adicionales para configurar variables de instancia para una instancia particular de la clase.
  • Múltiples Instancias: Podemos crear muchos objetos, ya que la clase es la plantilla para el objeto. Cada objeto distinto se puede almacenar en su propia variable. Cada instancia tiene su propia copia de las variables de instancia.
  • Herencia: Permite reutilizar una clase existente y heredar todas sus capacidades, para luego añadir nuestras propias características a la nueva clase. La nueva clase (hija) tiene todas las capacidades de la clase antigua (padre) y algunas más.
El documento incluye ejemplos de código para ilustrar la creación de clases, objetos, el uso de constructores y destructores, y el concepto de herencia.

Python for Everybody (Py4E) Seccion 13 Servicios Web.

Resumen realizado por Gemini. 

Aquí tienes un resumen del documento "Pythonlearn-13-WebServices.pptx":


El documento "Pythonlearn-13-WebServices.pptx" se centra en el uso de servicios web y el intercambio de datos entre programas a través de la red, destacando dos formatos comunes: XML y JSON.

Conceptos Clave:
  • Datos en la Web: Con la comprensión de las solicitudes y respuestas HTTP, surgió la necesidad de intercambiar datos entre programas utilizando estos protocolos. Se acordaron formatos para representar los datos que se envían entre aplicaciones y a través de redes.
  • Protocolo "Wire": Se refiere al formato en que se envían los datos a través de la red. Diferentes lenguajes de programación (PHP, JavaScript, Java, Python) tienen sus propias estructuras de datos (Array, Object, HashMap, Dictionary) que necesitan ser serializadas y deserializadas para el intercambio.
  • XML (eXtensible Markup Language):
    • Es un lenguaje de marcado para enviar datos a través de la red.
    • Su propósito principal es ayudar a los sistemas de información a compartir datos estructurados.
    • Comenzó como un subconjunto simplificado del Standard Generalized Markup Language (SGML) y está diseñado para ser relativamente legible por humanos.
    • Elementos XML: Pueden ser simples o complejos, y se organizan en una estructura de árbol.
    • Conceptos básicos de XML: Incluyen etiquetas de inicio y fin, contenido de texto, atributos y etiquetas de cierre automático.
    • Espacios en blanco: Generalmente se descartan en los elementos de texto; la indentación se usa solo para mejorar la legibilidad.
    • Terminología XML:
      • Etiquetas: Indican el principio y el final de los elementos.
      • Atributos: Pares clave/valor en la etiqueta de apertura de XML.
      • Serializar / Deserializar: Convertir datos de un programa a un formato común que pueda ser almacenado y/o transmitido entre sistemas de manera independiente del lenguaje de programación.
  • Esquema XML (XML Schema):
    • Describe un "contrato" sobre qué XML es aceptable.
    • Define el formato legal de un documento XML en términos de restricciones sobre la estructura y el contenido.
    • Se utiliza para especificar un "contrato" entre sistemas, donde un sistema solo aceptará XML que cumpla con un esquema particular.
    • Si un XML cumple con la especificación del esquema, se dice que "valida".
    • Existen varios lenguajes de esquema XML, como Document Type Definition (DTD), Standard Generalized Markup Language (SGML) y XML Schema de W3C (XSD).
    • XSD (XML Schema Definition): Es la versión del World Wide Web Consortium (W3C), comúnmente llamada XSD porque los nombres de archivo terminan en .xsd.
    • Estructura XSD: Incluye elementos
      xs:element
      ,
      xs:sequence
      y
      xs:complexType
    .
    • Restricciones XSD: Permiten definir la ocurrencia mínima y máxima de elementos.
    • Tipos de datos XSD: Incluyen
      xs:string
      ,
      xs:date
      ,
      xs:dateTime
      ,
      xs:decimal
      y
      xs:integer
      . Es común representar la hora en UTC/GMT.
    • Formato de Fecha/Hora ISO 8601: Un formato estándar para representar fecha y hora, incluyendo año-mes-día, hora del día y zona horaria (típicamente UTC/GMT).
  • JSON (JavaScript Object Notation):
    • Representa datos como "listas" y "diccionarios" anidados.
    • Es un formato ligero para el intercambio de datos.
  • Enfoque Orientado a Servicios (Service Oriented Approach):
    • Permite que una aplicación se divida en partes y se distribuya a través de una red.
    • Las aplicaciones web no triviales utilizan servicios de otras aplicaciones (por ejemplo, cargos de tarjetas de crédito, sistemas de reserva de hoteles).
    • Los servicios publican las "reglas" que las aplicaciones deben seguir para utilizar el servicio (API).
  • APIs (Application Program Interfaces):
    • Son contratos para la interacción entre aplicaciones.
    • Existen muchas APIs públicas, algunas gratuitas hasta cierto límite de uso y otras de pago.
    • El documento menciona un ejemplo de API de geocodificación basada en datos de OpenStreetMap.
  • Ejemplos de código en Python: El documento incluye ejemplos de cómo procesar XML utilizando el módulo
    xml.etree.ElementTree
    y cómo trabajar con JSON utilizando el módulo
    json
. También se muestra un ejemplo de cómo interactuar con una API de geocodificación.

En resumen, el documento explora cómo las aplicaciones web intercambian datos a través de la red utilizando formatos como XML y JSON, y cómo se definen las interacciones a través de APIs en un enfoque orientado a servicios.

Python for Everybody (Py4E) Seccion 12 HTTP

Fuente: Gemini  

Aquí tienes un resumen del documento "Pythonlearn-12-HTTP.pptx":


El documento "Pythonlearn-12-HTTP.pptx" se centra en la programación en red utilizando Python, específicamente en el Protocolo de Control de Transmisión (TCP) y el Protocolo de Transferencia de Hipertexto (HTTP).

Conceptos Clave:
  • Protocolo de Control de Transmisión (TCP):
    • Construido sobre IP (Protocolo de Internet).
    • Asegura la retransmisión de datos si se pierden y maneja el "control de flujo".
    • Proporciona un "canal" confiable para la comunicación.
  • Conexiones TCP / Sockets:
    • Un socket de Internet es un punto final de una comunicación bidireccional entre procesos a través de una red basada en el Protocolo de Internet.
  • Números de Puerto TCP:
    • Un puerto es un punto final de comunicación de software específico de una aplicación o proceso.
    • Permite que múltiples aplicaciones en red coexistan en el mismo servidor.
    • Existen números de puerto TCP bien conocidos, como el puerto 80 para servidores web.
  • Sockets en Python:
    • Python tiene soporte incorporado para sockets TCP a través del módulo socket.
    • Se muestra un ejemplo de cómo crear un socket, conectarse a un host y puerto, y enviar/recibir datos.
  • Protocolos de Aplicación:
    • Son las reglas que definen qué hacer con el socket una vez establecida una conexión confiable.
    • Ejemplos incluyen protocolos para correo y la World Wide Web.
  • HTTP - Protocolo de Transferencia de Hipertexto:
    • Es el protocolo de capa de aplicación dominante en Internet.
    • Se inventó para la Web para recuperar HTML, imágenes y documentos.
    • El concepto básico es: establecer una conexión, solicitar un documento, recuperar el documento y cerrar la conexión.
    • Un protocolo es un conjunto de reglas que todas las partes siguen para predecir el comportamiento de los demás.
  • Obtención de datos del servidor:
    • Cuando un usuario hace clic en un enlace, el navegador se conecta al servidor web y emite una solicitud "GET" para obtener el contenido de la página.
    • El servidor devuelve el documento HTML al navegador.
  • Estándares de Internet:
    • Los estándares para todos los protocolos de Internet son desarrollados por la Internet Engineering Task Force (IETF).
    • Los estándares se llaman "RFCs" (Request for Comments).
  • Realización de una solicitud HTTP en Python:
    • Se muestra un ejemplo de código para realizar una solicitud HTTP utilizando sockets en Python, enviando una solicitud GET y recibiendo la respuesta.
    • La respuesta HTTP consta de un encabezado (HTTP Header) y un cuerpo (HTTP Body).
  • Caracteres y Cadenas:
    • Se explica la codificación ASCII, donde cada carácter se representa con un número entre 0 y 256, almacenado en 8 bits (un byte).
    • Se introduce el concepto de caracteres multibyte y UTF-8 como la práctica recomendada para codificar datos que se intercambian entre sistemas.
    • En Python 3, todas las cadenas son Unicode internamente.
    • Al comunicarse con recursos de red, es necesario codificar las cadenas de Python 3 en una codificación de caracteres (generalmente UTF-8) y decodificar los datos recibidos.
  • Facilitando HTTP con urllib:
    • La biblioteca urllib simplifica el trabajo con HTTP, haciendo que las páginas web parezcan archivos.
    • Se muestra cómo usar urllib.request.urlopen() para abrir una URL y leer su contenido línea por línea.
  • Análisis de HTML (Web Scraping):
    • El "Web Scraping" es cuando un programa simula ser un navegador para recuperar páginas web, extraer información y navegar por más páginas.
    • Se menciona la biblioteca BeautifulSoup como una forma fácil de analizar HTML.
    • Se proporciona un ejemplo de código que utiliza BeautifulSoup para extraer enlaces de una página web.
En resumen, el documento cubre los fundamentos de la programación en red con Python, desde los protocolos de bajo nivel como TCP hasta los protocolos de aplicación como HTTP, y cómo interactuar con recursos web utilizando sockets y bibliotecas como urllib y BeautifulSoup.

Python For Everybody (Py4E) Seccion 11. Expresiones regulares.

  

Aquí tienes un resumen del documento "Pythonlearn-11-Regex.pptx":


El documento "Pythonlearn-11-Regex.pptx" trata sobre las Expresiones Regulares (Regex) en Python, una herramienta poderosa para la búsqueda y el análisis de cadenas de texto.

Conceptos clave:
  • ¿Qué son las expresiones regulares? Son expresiones "comodín" inteligentes para buscar y analizar cadenas de texto, proporcionando un medio conciso y flexible para hacer coincidir patrones de caracteres.
  • Módulo re: Para usar expresiones regulares en Python, debes importar el módulo re.
  • re.search(): Se utiliza para verificar si una cadena coincide con una expresión regular, de forma similar al método find() para cadenas.
  • re.findall(): Se usa para extraer porciones de una cadena que coinciden con tu expresión regular, similar a una combinación de find() y el "slicing".
Guía rápida de expresiones regulares:
  • ^: Coincide con el comienzo de una línea.
  • $: Coincide con el final de la línea.
  • .: Coincide con cualquier carácter.
  • \s: Coincide con un espacio en blanco.
  • \S: Coincide con cualquier carácter que no sea espacio en blanco.
  • *: Repite un carácter cero o más veces (codicioso).
  • *?: Repite un carácter cero o más veces (no codicioso).
  • +: Repite un carácter una o más veces (codicioso).
  • +?: Repite un carácter una o más veces (no codicioso).
  • [aeiou]: Coincide con un solo carácter del conjunto listado.
  • [^XYZ]: Coincide con un solo carácter que no esté en el conjunto listado.
  • [a-z0-9]: El conjunto de caracteres puede incluir un rango.
  • (: Indica dónde debe comenzar la extracción de la cadena.
  • ): Indica dónde debe terminar la extracción de la cadena.
Coincidencia codiciosa vs. no codiciosa:
  • Coincidencia codiciosa: Los caracteres de repetición (* y +) se extienden en ambas direcciones para coincidir con la cadena más larga posible.
  • Coincidencia no codiciosa: Al añadir un ? a los caracteres de repetición (+? y *?), la coincidencia se vuelve "no codiciosa", buscando la cadena más corta posible.
Extracción de cadenas:
  • Puedes refinar la coincidencia para re.findall() y determinar qué porción de la coincidencia se debe extraer utilizando paréntesis. Los paréntesis no forman parte de la coincidencia, pero indican dónde comenzar y terminar la extracción.
El documento también incluye ejemplos de código para ilustrar cómo usar re.search(), re.findall(), y cómo realizar la extracción de cadenas con expresiones regulares, incluyendo el manejo de la coincidencia codiciosa y no codiciosa. También aborda el uso del carácter de escape \ para tratar caracteres especiales como normales.

Python for Everybody (Py4E) Seccion 10. Tuplas

Fuente: gemini.  

Aquí tienes un resumen del documento "Pythonlearn-10-Tuples.pptx":

  • ¿Qué son las tuplas? Las tuplas son un tipo de secuencia similar a las listas, con elementos indexados que comienzan en 0.
  • Inmutabilidad: A diferencia de las listas, las tuplas son "inmutables", lo que significa que su contenido no se puede modificar una vez creadas, similar a las cadenas de texto.
  • Operaciones no permitidas: No puedes usar métodos como sort(), append(), o reverse() directamente en las tuplas, ya que no son mutables.
  • Eficiencia: Las tuplas son más eficientes en términos de uso de memoria y rendimiento que las listas, ya que Python no necesita construir estructuras modificables para ellas. Por esta razón, se prefieren las tuplas para variables temporales.
  • Asignación: Puedes asignar tuplas al lado izquierdo de una declaración de asignación, incluso omitiendo los paréntesis.
  • Tuplas y diccionarios: El método items() de los diccionarios devuelve una lista de tuplas (clave, valor).
  • Comparabilidad: Los operadores de comparación funcionan con tuplas y otras secuencias. La comparación se realiza elemento por elemento hasta encontrar una diferencia.
  • Ordenar listas de tuplas: Puedes ordenar una lista de tuplas para obtener una versión ordenada de un diccionario. Esto se puede hacer utilizando el método items() del diccionario y la función sorted(). También puedes ordenar por valores en lugar de claves creando una lista de tuplas en el formato (valor, clave).
  • Versión más corta: Es posible crear una lista de tuplas invertidas y luego ordenarla utilizando una comprensión de lista.
El documento también incluye ejemplos de código para ilustrar cada concepto.

sábado, 18 de octubre de 2025

La importancia de Self en POO

 

self es una convención utilizada en la Programación Orientada a Objetos (POO), especialmente en lenguajes como Python, que se refiere a la instancia (el objeto) sobre la que se está ejecutando un método.


Función y Significado de self

La función principal de self es permitir que los métodos de una clase accedan y manipulen los atributos y otros métodos de ese objeto específico.

1. Referencia a la Instancia Actual (El Objeto)

  • Identidad: Cuando creas un objeto a partir de una clase (una instancia), self actúa como un puntero o una referencia a ese objeto recién creado.

  • Manejo de Métodos: Cada vez que llamas a un método en un objeto (ej: mi_coche.acelerar()), Python pasa automáticamente ese objeto (mi_coche) como el primer argumento al método acelerar(), y ese argumento se nombra por convención como self.

2. Acceso a Atributos de Instancia

La función más crucial de self es distinguir los atributos de la instancia de las variables locales dentro del método.

  • Ejemplo: Si una clase Coche tiene un atributo velocidad, dentro de un método como acelerar(), usas self.velocidad para acceder o modificar la velocidad del coche específico que llamó al método. Sin self, el método no sabría a qué variable velocidad se está refiriendo.

3. Definición del Método Constructor (__init__)

self es fundamental en el método constructor (__init__) de una clase:

  • __init__(self, ...): Este método se llama cuando se crea un nuevo objeto. self es el primer parámetro y se usa para inicializar los atributos de ese nuevo objeto.

En resumen:

FunciónPropósito
PunteroHace referencia al objeto que está llamando al método.
AccesoPermite a los métodos leer y modificar las variables internas (atributos) de ese objeto.
DistinciónSepara las variables locales del método de los atributos de la instancia.

Nota: Aunque el término estándar es self, en la mayoría de los lenguajes POO (como C++ o Java) se utiliza la palabra clave this con la misma función. El uso de self es una fuerte convención, pero no una palabra clave reservada, de Python.

Como iniciar Gemini en Python.

>>from google import genai

>>client = genai.Client()

>>response = client.models.generate_content(
>>    model="gemini-2.5-flash",
>>    contents="Explain how AI works in a few words",
>> )

>>print(response.text)

sábado, 27 de septiembre de 2025

Python For Everybody (Py4E) Seccion 9. Diccionarios

 Aquí tienes un resumen de la presentación "Pythonlearn-09-Dictionaries.pptx":


La presentación "Pythonlearn-09-Dictionaries" cubre los siguientes puntos clave sobre los diccionarios en Python:
  • ¿Qué es una colección? Una colección permite almacenar múltiples valores en una sola variable, a diferencia de las variables que solo pueden contener un valor a la vez.
  • Listas vs. Diccionarios:
    • Las listas son colecciones lineales de valores, donde la búsqueda se realiza por posición (índice numérico). Son mutables, lo que significa que sus elementos pueden modificarse.
    • Los diccionarios son colecciones de pares clave-valor, donde la búsqueda se realiza por una "etiqueta" o "clave". Son la colección de datos más potente de Python y permiten operaciones rápidas similares a las de una base de datos.
  • Literales de diccionario (Constantes): Los diccionarios se definen utilizando llaves {} y pares clave : valor. Se puede crear un diccionario vacío con {}.
  • Diccionarios a lo largo del tiempo en Python: Antes de Python 3.7, los diccionarios no mantenían las entradas en el orden de inserción. A partir de Python 3.7 (2018), los diccionarios conservan el orden en que se insertaron las entradas.
  • Contadores con diccionarios: Un uso común de los diccionarios es contar la frecuencia con la que se "ve" algo. Se puede inicializar una clave con un valor de 1 cuando se encuentra por primera vez y luego incrementar el valor en 1 en cada ocurrencia posterior.
  • Errores de diccionario (Tracebacks): Es un error hacer referencia a una clave que no está en el diccionario (KeyError). El operador in se puede usar para verificar si una clave existe en el diccionario antes de intentar acceder a ella.
  • El método get() para diccionarios: El método get(clave, valor_por_defecto) simplifica el patrón de verificar si una clave existe y proporcionar un valor predeterminado si no es así, evitando errores. Por ejemplo, counts.get(name, 0) devuelve el valor asociado a name si existe, o 0 si no.
  • Contar palabras en texto: Los diccionarios son ideales para contar la frecuencia de palabras en un texto. El patrón general es dividir la línea en palabras, luego iterar sobre las palabras y usar un diccionario para rastrear el recuento de cada palabra de forma independiente.
  • Bucles definidos y diccionarios: Se puede usar un bucle for para iterar a través de todas las claves de un diccionario y acceder a sus valores correspondientes.
  • Recuperar listas de claves y valores: Se pueden obtener listas de claves (.keys()), valores (.values()) o pares clave-valor (.items()) de un diccionario. El método .items() devuelve una lista de tuplas (pares clave-valor).
  • Dos variables de iteración: Al iterar sobre jjj.items(), se pueden usar dos variables de iteración (aaa, bbb) donde la primera es la clave y la segunda es el valor correspondiente.
  • Ejemplo de uso de bucles anidados: Se muestra un ejemplo de cómo usar bucles anidados con diccionarios para encontrar la palabra más común en un archivo.

Python For Everybody (Py4E) seccion 8. Listas

 Aquí tienes un resumen de la presentación "Pythonlearn-08-Lists.pptx":


La presentación "Pythonlearn-08-Lists" de "Python for Everybody" cubre los siguientes puntos clave sobre las listas en Python:
  • ¿Qué es una lista? Una lista es un tipo de colección que permite almacenar múltiples valores en una sola variable, a diferencia de las variables que solo pueden contener un valor a la vez.
  • Constantes de lista: Las listas se definen entre corchetes [] con los elementos separados por comas. Pueden contener cualquier objeto de Python, incluso otras listas, y pueden estar vacías.
  • Listas y bucles definidos: Las listas son muy útiles con los bucles for para iterar sobre sus elementos.
  • Acceso a elementos de la lista: Al igual que las cadenas, se puede acceder a cualquier elemento individual de una lista utilizando un índice entre corchetes, comenzando desde cero.
  • Las listas son mutables: A diferencia de las cadenas (que son inmutables), las listas son mutables, lo que significa que se pueden cambiar sus elementos utilizando el operador de índice.
  • Longitud de una lista: La función len() devuelve el número de elementos en una lista.
  • Función range(): La función range() devuelve una lista de números que van desde cero hasta uno menos que el parámetro, lo que es útil para construir bucles de índice.
  • Concatenación de listas: Se pueden unir dos listas existentes utilizando el operador + para crear una nueva lista.
  • Segmentación de listas (Slicing): Las listas se pueden segmentar utilizando el operador :, similar a las cadenas, para extraer una porción continua de la lista.
  • Métodos de lista: Las listas tienen varios métodos incorporados, como append() para añadir elementos al final, sort() para ordenar la lista, entre otros.
  • Construcción de una lista desde cero: Se puede crear una lista vacía y luego añadir elementos usando el método append().
  • Verificar si un elemento está en una lista: Los operadores lógicos in y not in permiten verificar si un elemento existe en una lista, devolviendo True o False.
  • Funciones incorporadas y listas: Python tiene funciones como len(), max(), min(), y sum() que pueden operar directamente sobre listas.
  • Cadenas y listas (método split()): El método split() de las cadenas divide una cadena en partes (palabras) y produce una lista de cadenas. Se puede especificar un delimitador para la división.
  • Patrón de doble división: A veces es útil dividir una línea, tomar una de las partes y volver a dividirla para extraer información más específica.

Python For Everybody (Py4E) seccion 7. Archivos

 Aquí tienes un resumen de la presentación "Pythonlearn-07-Files.pptx":


La presentación cubre los siguientes puntos clave sobre el manejo de archivos en Python:
  • Lectura de archivos: Antes de leer el contenido de un archivo, se debe indicar a Python con qué archivo se va a trabajar y qué se hará con él utilizando la función open(). Esta función devuelve un "identificador de archivo" (file handle) que se utiliza para realizar operaciones en el archivo.
  • Uso de open(): La sintaxis es handle = open(filename, mode). filename es una cadena y mode es opcional, siendo 'r' para lectura y 'w' para escritura.
  • Manejo de archivos inexistentes: Si se intenta abrir un archivo que no existe, Python generará un error FileNotFoundError.
  • El carácter de nueva línea (\n): Se utiliza un carácter especial llamado "nueva línea" para indicar el final de una línea. Se representa como \n en las cadenas y cuenta como un solo carácter.
  • Procesamiento de archivos: Un archivo de texto puede considerarse como una secuencia de líneas, cada una terminando con un carácter de nueva línea.
  • Identificador de archivo como secuencia: Un identificador de archivo abierto para lectura puede tratarse como una secuencia de cadenas, donde cada línea del archivo es una cadena en la secuencia. Se puede usar un bucle for para iterar a través de las líneas del archivo.
  • Contar líneas en un archivo: Se puede abrir un archivo solo para lectura, usar un bucle for para leer cada línea y contar el número de líneas.
  • Lectura del archivo completo: Es posible leer todo el archivo (incluidos los caracteres de nueva línea) en una sola cadena utilizando el método read() del identificador de archivo.
  • Búsqueda en un archivo: Se puede usar una declaración if dentro de un bucle for para imprimir solo las líneas que cumplen ciertos criterios, como las que comienzan con una cadena específica (startswith()).
  • Eliminación de espacios en blanco: Para evitar líneas en blanco adicionales al imprimir, se puede usar el método rstrip() para eliminar los espacios en blanco (incluido el carácter de nueva línea) del lado derecho de la cadena.
  • Saltar líneas con continue: La declaración continue permite saltar convenientemente una línea en un bucle si no cumple con un criterio específico.
  • Uso de in para seleccionar líneas: Se puede buscar una cadena en cualquier parte de una línea como criterio de selección utilizando el operador in.
  • Solicitar nombre de archivo: Se puede solicitar al usuario el nombre del archivo mediante input().
  • Manejo de nombres de archivo incorrectos: Es importante usar un bloque try-except al abrir archivos para manejar casos en los que el nombre del archivo proporcionado por el usuario no sea válido y el archivo no se pueda abrir.
  • Resumen: La presentación concluye resumiendo los conceptos clave: almacenamiento secundario, apertura de archivos (identificador de archivo), estructura de archivos (carácter de nueva línea), lectura de archivos línea por línea con un bucle for, búsqueda de líneas, lectura de nombres de archivo y manejo de archivos incorrectos.

Python for Everybody (Py4E) seccion 6 cadenas

 Aquí tienes un resumen de la presentación "Pythonlearn-06-Strings":


La presentación cubre los siguientes puntos clave sobre las cadenas de caracteres en Python:
  • Tipo de dato cadena: Una cadena es una secuencia de caracteres, y los literales de cadena se definen con comillas simples o dobles. El operador + se utiliza para concatenar cadenas. Las cadenas que contienen números siguen siendo cadenas, pero se pueden convertir a números enteros usando int() para realizar operaciones matemáticas.
  • Lectura y conversión: Es preferible leer los datos como cadenas y luego analizarlos y convertirlos según sea necesario para un mejor control de errores.
  • Acceso a caracteres: Se puede acceder a cualquier carácter individual de una cadena utilizando un índice entre corchetes, que debe ser un número entero y comienza en cero. Intentar indexar más allá del final de una cadena resultará en un error.
  • Longitud de la cadena: La función incorporada len() devuelve la longitud de una cadena.
  • Recorrer cadenas: Se puede recorrer una cadena utilizando un bucle while con una variable de iteración y la función len(), o de manera más elegante con un bucle for.
  • Contar caracteres: Se puede usar un bucle para contar la ocurrencia de un carácter específico en una cadena.
  • Operaciones con cadenas:
    • Segmentación (Slicing): Se puede extraer una sección continua de una cadena utilizando el operador de dos puntos [:]. El segundo número indica un carácter más allá del final de la porción (hasta, pero sin incluir). Si se omite el primer o el último número, se asume el principio o el final de la cadena, respectivamente.
    • Concatenación: El operador + concatena cadenas.
    • Operador lógico in: La palabra clave in se puede usar para verificar si una cadena está contenida dentro de otra, devolviendo True o False.
    • Comparación de cadenas: Las cadenas se pueden comparar usando operadores como ==, < y >.
  • Biblioteca de cadenas: Python tiene varias funciones de cadena incorporadas que se invocan adjuntando la función a la variable de cadena. Estas funciones no modifican la cadena original, sino que devuelven una nueva cadena modificada. Algunas funciones mencionadas incluyen capitalize(), center(), endswith(), find(), lstrip(), replace(), lower(), rstrip(), strip() y upper().
  • Búsqueda de cadenas: La función find() busca la primera ocurrencia de una subcadena y devuelve su posición, o -1 si no se encuentra.
  • Cambiar a mayúsculas/minúsculas: Se puede crear una copia de una cadena en mayúsculas o minúsculas, lo que es útil para búsquedas sin distinción entre mayúsculas y minúsculas.
  • Buscar y reemplazar: La función replace() reemplaza todas las ocurrencias de una subcadena por otra.
  • Eliminar espacios en blanco: lstrip() y rstrip() eliminan los espacios en blanco del principio o del final, respectivamente, mientras que strip() elimina los espacios en blanco de ambos lados.
  • Prefijos: La función startswith() verifica si una cadena comienza con un prefijo específico.
  • Análisis y extracción: Se muestra un ejemplo de cómo analizar una cadena para extraer información específica, como un nombre de host de una dirección de correo electrónico.
  • Tipos de cadenas (Python 3): En Python 3, todas las cadenas son Unicode.

domingo, 21 de septiembre de 2025

Python for Everybody (Py4E). Seccion 5.

 Py4E, sección 5. Iteraciones

La sección 5, se enfoca en el concepto de iteraciones y bucles en Python, que son fundamentales para repetir bloques de código.


Aquí tienes un resumen de los puntos clave que probablemente cubre:
  • ¿Qué son las Iteraciones? Se introduce la idea de que las iteraciones permiten ejecutar un conjunto de instrucciones repetidamente. Esto es esencial cuando necesitas procesar múltiples elementos en una lista, leer líneas de un archivo, o esperar una condición específica.
  • Bucles ```
    while
    ```:
    • Se explica la estructura del bucle
      while 
      . Este bucle continúa ejecutándose mientras una condición sea verdadera.
    • Se muestra la sintaxis básica: la palabra reservada
      while 
      , seguida de una condición, y luego un bloque de código indentado que se ejecuta repetidamente.
    • Se enfatiza la importancia de tener una forma de que la condición eventualmente se vuelva falsa para evitar bucles infinitos.
    • Se presentan ejemplos prácticos de cómo usar bucles
      while 
      para contar, acumular valores o procesar entradas de usuario hasta que se cumpla una condición de salida.
  • Bucles ```
    for
    ```:
    • Se introduce el bucle
      for 
      , que se utiliza comúnmente para iterar sobre una secuencia (como una lista, una cadena o un rango de números).
    • La sintaxis es: la palabra reservada
      for 
      , seguida de una variable de iteración, la palabra reservada
      in 
      , la secuencia sobre la que iterar, y finalmente un bloque de código indentado.
    • En cada iteración, la variable de iteración toma el valor del siguiente elemento en la secuencia.
    • Se muestran ejemplos de cómo usar bucles
      for 
      para recorrer los elementos de una lista, los caracteres de una cadena, o los números en un rango especificado por la función
      range() 
      .
  • Comparación entre ```
    while
    ``` y ```
    for

    ```:
    Se discute cuándo es más apropiado usar cada tipo de bucle. Generalmente,
    while 
    se usa cuando no sabes de antemano cuántas veces necesitas iterar (depende de una condición), mientras que
    for 
    se usa cuando iteras sobre una secuencia conocida o un número predefinido de veces.
  • Sentencias de Control de Bucle (```
    break
    ``` y ```
    continue

    ```):
    • Se explican las sentencias
      break 
      y
      continue 
      , que permiten modificar el flujo normal de un bucle.
    • break 
      se usa para salir completamente del bucle actual.
    • continue 
      se usa para saltar el resto del código en la iteración actual y pasar a la siguiente iteración del bucle.
    • Se muestran ejemplos de cómo usar estas sentencias para implementar lógicas de salida anticipada o para omitir ciertos elementos durante la iteración.
  • Patrones Comunes de Iteración: Se presentan patrones comunes como contar elementos que cumplen una condición, encontrar el valor máximo o mínimo en una secuencia, o calcular la suma o el promedio de los elementos.
En resumen, esta presentación proporciona las herramientas esenciales para realizar tareas repetitivas en Python, enseñando cómo utilizar los bucles
while 
y
for 
de manera efectiva, así como controlar su comportamiento con
break 
y
continue 
.

¿Te gustaría que resuma alguna otra presentación de la carpeta "Curso Python for everybody"?

Cordialmente: Gemini. 

Py4E Quiz seccion 2. Variables y declaraciones. Respuestas al Quiz

Calificación del Quiz de la sección 2.

Bienvenido Python Para Ingenieros de Python for Everybody

×Your score of 92.9% has been saved.

You cannot retry this quiz for 10 minutes

  1. In the following code,

    print(98.6)
    
    What is "98.6"?

    A conditional statement

    An iteration / loop statement

    A constant

    A variable

  2. Which of the following is a comment in Python?

    // This is a test

    /* This is a test */

    * This is a test

    # This is a test

  3. What does the following code print out?

    print("123" + "abc")
    

    123abc

    123+abc

    This is a syntax error because you cannot add strings

    hello world

  4. In the following code,

    x = 42
    
    What is "x"?

    A function

    A constant

    A variable

    A Central Processing Unit

  5. Which of the following is a bad Python variable name?

    _spam

    Spam

    SPAM23

    23spam

  6. Which of the following variables is the "most mnemonic"?

    hours

    variable_173

    x1q3z9ocd

    x

  7. Which of the following is not a Python reserved word?

    if

    speed

    else

    for

  8. Which of the following is not a Python reserved word?

    continue

    else

    iterate

    break

  9. Assume the variable x has been initialized to an integer value (e.g., x = 3). What does the following statement do?

    x = x + 2
    

    Retrieve the current value for x, add two to it and put the sum back into x

    Produce the value "false" because "x" can never equal "x+2"

    This would fail as it is a syntax error

    Create a function called "x" and put the value 2 in the function

  10. Which of the following elements of a mathematical expression in Python is evaluated first?

    Parentheses ( )

    Subtraction -

    Addition +

    Multiplication *

  11. What is the value of the following expression

    42 % 10
    
    Hint - the "%" is the remainder operator

    2

    1042

    420

    10

  12. What will be the value of x after the following statement executes:

    x = 1 + 2 * 3 - 8 / 4
    

    4

    15

    5.0

    3.0

  13. What will be the value of x when the following statement is executed:

    x = int(98.6)
    

    100

    99

    98

    6

  14. What does the Python input() function do?

    Take a screen shot from an area of the screen

    Read the memory of the running program

    Connect to the network and retrieve a web page.

    Pause the program and read data from the user

Py4E Quiz seccion 2. Variables y declaraciones

 

Bienvenido Python Para Ingenieros de Python for Everybody

  1. In the following code,

    print(98.6)
    
    What is "98.6"?

    A conditional statement

    An iteration / loop statement

    A constant

    A variable

  2. Which of the following is a comment in Python?

    // This is a test

    /* This is a test */

    * This is a test

    # This is a test

  3. What does the following code print out?

    print("123" + "abc")
    

    123abc

    123+abc

    This is a syntax error because you cannot add strings

    hello world

  4. In the following code,

    x = 42
    
    What is "x"?

    A function

    A constant

    A variable

    A Central Processing Unit

  5. Which of the following is a bad Python variable name?

    _spam

    Spam

    SPAM23

    23spam

  6. Which of the following variables is the "most mnemonic"?

    hours

    variable_173

    x1q3z9ocd

    x

  7. Which of the following is not a Python reserved word?

    if

    speed

    else

    for

  8. Which of the following is not a Python reserved word?

    continue

    else

    iterate

    break

  9. Assume the variable x has been initialized to an integer value (e.g., x = 3). What does the following statement do?

    x = x + 2
    

    Retrieve the current value for x, add two to it and put the sum back into x

    Produce the value "false" because "x" can never equal "x+2"

    This would fail as it is a syntax error

    Create a function called "x" and put the value 2 in the function

  10. Which of the following elements of a mathematical expression in Python is evaluated first?

    Parentheses ( )

    Subtraction -

    Addition +

    Multiplication *

  11. What is the value of the following expression

    42 % 10
    
    Hint - the "%" is the remainder operator

    2

    1042

    420

    10

  12. What will be the value of x after the following statement executes:

    x = 1 + 2 * 3 - 8 / 4
    

    4

    15

    5.0

    3.0

  13. What will be the value of x when the following statement is executed:

    x = int(98.6)
    

    100

    99

    98

    6

  14. What does the Python input() function do?

    Take a screen shot from an area of the screen

    Read the memory of the running program

    Connect to the network and retrieve a web page.

    Pause the program and read data from the user

Python For Everybody (Py4E). Seccion 4.

 Py4E, Sección 4, Funciones en Python

La sección 4 del curso se enfoca en el concepto de funciones en Python, explicando cómo se definen y utilizan para organizar y reutilizar código.


Aquí tienes un resumen de los puntos clave:
  • Pasos Almacenados (y Reutilizados): Se introduce la idea de que las funciones son bloques de código que se pueden almacenar y luego reutilizar varias veces en un programa, evitando la repetición de código. Se muestra un ejemplo donde una función simple thing() imprime dos líneas de texto, y luego se llama a esa función múltiples veces.
  • Tipos de Funciones en Python:
    • Funciones Integradas (Built-in): Son funciones que ya vienen con Python y están listas para usar (ej. print(), input(), type(), float(), int(), max(), min()).
    • Funciones Definidas por el Usuario: Son funciones que los programadores crean por sí mismos.
  • Definición de Funciones:
    • Se utiliza la palabra reservada def para definir una función, seguida del nombre de la función y paréntesis opcionales para los parámetros.
    • El cuerpo de la función debe estar indentado.
    • La definición de una función no la ejecuta; solo la prepara para ser llamada.
  • Llamada/Invocación de Funciones:
    • Para ejecutar el código dentro de una función, se "llama" o "invoca" a la función usando su nombre seguido de paréntesis.
    • Se muestra un ejemplo de cómo max() y min() toman un argumento (por ejemplo, una cadena) y devuelven un resultado.
  • Conversiones de Tipo (Repaso y Relevancia):
    • Se retoma el tema de la conversión de tipos (visto en la Presentación 02), enfatizando cómo funciones como int(), float(), y str() son cruciales, especialmente al trabajar con entradas de usuario que suelen ser cadenas de texto.
    • Se advierte sobre errores si se intenta convertir una cadena no numérica a un tipo numérico (ej. int('hello bob') causará un ValueError).
  • Construyendo Nuestras Propias Funciones:
    • Se profundiza en la sintaxis para crear funciones propias, mostrando cómo el código dentro de def solo se ejecuta cuando la función es llamada.
    • Se explica el patrón de "almacenar y reutilizar" el código mediante funciones.
  • Parámetros/Argumentos:
    • Las funciones pueden recibir "entradas" llamadas argumentos (o parámetros). Estos son valores que se pasan a la función cuando se la llama y que la función puede utilizar en su lógica.
    • Se muestra cómo las funciones pueden tener cero o más argumentos.
  • Valores de Retorno (```
    return
    ```):
    • Las funciones pueden opcionalmente devolver un valor usando la palabra reservada return.
    • Cuando una función ejecuta una sentencia return, termina inmediatamente y el valor especificado se convierte en el resultado de la llamada a la función.
    • Se demuestra cómo una función puede realizar cálculos y devolver un resultado que puede ser utilizado por el código que la llamó.
En síntesis, esta seccion enseña la modularización del código a través de funciones, una práctica fundamental en programación para crear programas más legibles, organizados y eficientes.

Python for Everybody (Py4E) Seccion 3

Py4E, Sección 3, Ejecución condicional 

La sección 3 del curso Py4E, se centra en la ejecución condicional en Python, que permite que el programa tome decisiones y ejecute diferentes bloques de código según si una condición es verdadera o falsa.


Estos son los puntos clave:
  • Pasos Condicionales: Se introduce la idea de que un programa puede tener pasos que se ejecutan solo si una condición específica se cumple. Se muestra un ejemplo simple con if para ilustrar cómo el flujo del programa puede cambiar.
  • Operadores de Comparación: Se explican los operadores de comparación que se usan para crear expresiones booleanas (que resultan en True o False):
    • < (menor que)
    • <= (menor o igual que)
    • == (igual a)
    • >= (mayor o igual que)
    • > (mayor que)
    • != (distinto de)
    •  Se enfatiza que el operador de asignación = es diferente del operador de igualdad ==.
  • Decisiones Unidireccionales (if): Se muestra cómo usar una sentencia if para ejecutar un bloque de código solo si la condición es verdadera.
  • Sangría: Se destaca la importancia de la sangría en Python para definir el alcance de los bloques de código (por ejemplo, el código que pertenece a un if). Se explican las reglas para aumentar, mantener y reducir la sangría.
  • Decisiones Anidadas: Se demuestra cómo se pueden anidar múltiples sentencias if (un if dentro de otro if) para tomar decisiones más complejas.
  • Decisiones Bidireccionales (if-else): Se introduce la sentencia else para ejecutar un bloque de código alternativo cuando la condición del if es falsa. Esto permite tener dos caminos de ejecución.
  • Decisiones Multidireccionales (if-elif-else): Se presenta la estructura elif (contracción de "else if") para manejar múltiples condiciones. Permite probar una serie de condiciones en secuencia, y el primer bloque de código cuya condición es verdadera se ejecuta. Si ninguna es verdadera, se ejecuta el bloque else (si está presente).
  • Manejo de Errores con try y except: Se explica cómo usar try y except para manejar errores graciosamente en el programa. Si ocurre un error dentro del bloque try, la ejecución salta al bloque except en lugar de detener el programa. Esto es útil para prevenir fallos debido a entradas de usuario inválidas, por ejemplo, al intentar convertir texto no numérico a un número.
En resumen, esta presentación enseña cómo controlar el flujo de un programa Python basándose en condiciones, permitiendo una lógica más compleja y robusta, incluyendo el manejo de errores básicos.

sábado, 20 de septiembre de 2025

Python For Everybody (PY4E) Seccion 2. Variables y declaraciones

PY4E Sección 2. 

La sección 2 del curso introduce los conceptos fundamentales de variables, expresiones y sentencias en Python.


Aquí tienes un resumen de los puntos clave:
  • Constantes: Son valores fijos que no cambian, como números (ej. 123, 98.6) y cadenas de texto (ej. 'Hello world', "Hello world").
  • Palabras Reservadas: Son palabras que Python tiene predefinidas y no se pueden usar como nombres de variables (ej. False, None, True, class, def, if, else, for, while).
  • Variables: Son ubicaciones con nombre en la memoria donde los programadores pueden almacenar y recuperar datos. Se les puede asignar un nombre de elección del programador y su contenido puede ser modificado en sentencias posteriores. Se recomienda usar nombres mnemotécnicos (que ayuden a la memoria) para las variables.
  • Reglas para Nombres de Variables:
    • Deben comenzar con una letra o un guion bajo (_).
    • Pueden contener letras, números y guiones bajos.
    • Son sensibles a mayúsculas y minúsculas (ej. spam, Spam, SPAM son diferentes).
  • Sentencias de Asignación: Se utilizan para asignar un valor a una variable usando el operador =. El lado derecho del = es una expresión que se evalúa, y el resultado se almacena en la variable del lado izquierdo.
  • Expresiones Numéricas: Se explican las operaciones básicas como suma (+), resta (-), multiplicación (*), división (/), potencia (**) y módulo (%). También se menciona el orden de las operaciones.
  • Conversión de Tipos: Se ilustra cómo Python maneja automáticamente las conversiones entre tipos (ej. entero a flotante) y cómo se pueden forzar las conversiones explícitamente usando funciones como int(), float(), y str().

En esencia, la sección sienta las bases para trabajar con datos en Python, explicando cómo almacenar información, realizar cálculos y manejar diferentes tipos de datos.

Ejemplos:

Ej1. >> type( 'Hello world')

        >>> str

Ej2. >>type(123)

       >>> int

Ej3. >>type(98.6)

       >>> float

Ej4. >> Py4E = True

        >> type(Py4E)

        >>> bolean

Ej5.

>> a,b,c = 1,2,3

>> r = a+b+c

>>> 6

Ej6.

>> s = a*b

>>>2

Ej7.

>> t = (a + c) / b

>>>2

Ej8.

>> v = b**c

>>>8

 

 

Entradas recientes

Python For Everybody (Py4E) Seccion 16. Visualizacion de datos.

  Aquí tienes un resumen del documento "Pythonlearn-16-Data-Viz.pptx": Resumen elaborado con Gemini.   E l documento "Pythonl...

Entradas Populares