3 usuarios conectados

Preguntas frecuentes sobre Python

Comparte esto

Fundamentos:

  1. P: ¿Qué es Python?
    R: Python es un lenguaje de programación de alto nivel, interpretado, de propósito general y fácil de leer. Soporta múltiples paradigmas de programación, incluyendo la programación orientada a objetos, imperativa y funcional.

  2. P: ¿Cuál es la diferencia entre Python 2 y Python 3?
    R: Python 3 es la versión más reciente y no es completamente compatible con Python 2. Algunas diferencias clave incluyen la sintaxis de print, la división de enteros, el manejo de Unicode y las bibliotecas. Python 2 ya no tiene soporte oficial.

  3. P: ¿Qué es PEP 8? R: PEP 8 es una guía de estilo para el código Python, que busca mejorar la legibilidad y la consistencia del código Python.

  4. P: ¿Qué son las variables en Python?
    R: Las variables son nombres simbólicos que se utilizan para almacenar valores en la memoria. En Python, la asignación de variables es dinámica y no se necesita declarar el tipo explícitamente.

  5. P: ¿Cuáles son los tipos de datos incorporados en Python?
    R: Algunos tipos de datos incorporados comunes incluyen: enteros (int), números de punto flotante (float), booleanos (bool), cadenas (str), listas (list), tuplas (tuple), diccionarios (dict) y conjuntos (set).

Estructuras de Datos:

  1. P: ¿Cuál es la diferencia entre una lista y una tupla?
    R: Las listas son mutables (se pueden modificar después de su creación), mientras que las tuplas son inmutables. Las listas se definen con corchetes [] y las tuplas con paréntesis ().

  2. P: ¿Qué es un diccionario en Python?
    R: Un diccionario es una colección de pares clave-valor, donde las claves deben ser únicas e inmutables. Los diccionarios se definen con llaves {}.

  3. P: ¿Qué es un conjunto en Python?
    R: Un conjunto es una colección desordenada de elementos únicos. Los conjuntos se definen con llaves {} o con la función set().

  4. P: ¿Cómo se accede a los elementos de una lista o tupla?
    R: Se accede a los elementos utilizando su índice, que comienza en 0. También se puede utilizar slicing para acceder a rangos de elementos.

  5. P: ¿Cómo se accede a los valores de un diccionario?
    R: Se accede a los valores utilizando sus claves dentro de corchetes, por ejemplo, mi_diccionario['clave'], o utilizando el método get().

Funciones y Módulos:

  1. P: ¿Cómo se define una función en Python?
    R: Se define una función utilizando la palabra clave def, seguida del nombre de la función, paréntesis para los parámetros y dos puntos. El bloque de código de la función está indentado.

  2. P: ¿Qué son los argumentos *args y **kwargs en las funciones?
    R: *args se utiliza para pasar un número variable de argumentos posicionales a una función, que se reciben como una tupla. **kwargs se utiliza para pasar un número variable de argumentos de palabra clave, que se reciben como un diccionario.

  3. P: ¿Qué es un módulo en Python?
    R: Un módulo es un archivo que contiene código Python (funciones, clases, variables). Se utiliza para organizar el código y hacerlo reutilizable.

  4. P: ¿Cómo se importa un módulo en Python?
    R: Se utiliza la palabra clave import, seguida del nombre del módulo (por ejemplo, import math). También se puede importar partes específicas de un módulo (por ejemplo, from math import sqrt).

  5. P: ¿Cuál es la diferencia entre import y from ... import ...?
    R: import math importa todo el módulo math, y se accede a sus funciones como math.sqrt(). from math import sqrt importa solo la función sqrt directamente, y se puede usar como sqrt().

Orientación a Objetos:

  1. P: ¿Qué es una clase en Python?
    R: Una clase es un plano para crear objetos. Define los atributos (datos) y los métodos (funciones) que los objetos de esa clase tendrán.

  2. P: ¿Qué es un objeto en Python?
    R: Un objeto es una instancia de una clase. Contiene los atributos y puede ejecutar los métodos definidos por su clase.

  3. P: ¿Qué es la herencia en la programación orientada a objetos?
    R: La herencia es un mecanismo que permite a una clase (subclase o clase hija) heredar atributos y métodos de otra clase (superclase o clase padre).

  4. P: ¿Qué es el polimorfismo en la programación orientada a objetos?
    R: El polimorfismo permite que objetos de diferentes clases respondan al mismo método de manera diferente.

  5. P: ¿Qué es el método __init__ en una clase?
    R: __init__ es un método especial (constructor) que se llama automáticamente cuando se crea un nuevo objeto de una clase. Se utiliza para inicializar los atributos del objeto.

Manejo de Errores:

  1. P: ¿Cómo se manejan las excepciones en Python?
    R: Las excepciones se manejan utilizando bloques try...except. El código que puede generar una excepción se coloca dentro del bloque try, y el código para manejar la excepción se coloca dentro del bloque except.

  2. P: ¿Qué es una excepción en Python?
    R: Una excepción es un evento que ocurre durante la ejecución de un programa que interrumpe el flujo normal de las instrucciones del programa.

  3. P: ¿Cuál es la diferencia entre errores de sintaxis y excepciones?
    R: Los errores de sintaxis ocurren cuando el código no sigue las reglas gramaticales de Python y se detectan antes de la ejecución. Las excepciones ocurren durante la ejecución del programa, incluso si la sintaxis es correcta.

Otros Temas:

  1. P: ¿Qué son los entornos virtuales en Python?
    R: Los entornos virtuales son directorios aislados que contienen una instalación de Python específica y las bibliotecas necesarias para un proyecto en particular. Ayudan a evitar conflictos entre dependencias de diferentes proyectos.

  2. P: ¿Qué es pip?
    R: pip es el gestor de paquetes de Python. Se utiliza para instalar y gestionar bibliotecas y dependencias de terceros.

  3. P: ¿Qué son los generadores en Python?
    R: Los generadores son funciones especiales que utilizan la palabra clave yield en lugar de return para devolver una secuencia de valores de forma perezosa (uno a la vez, bajo demanda). Son eficientes en memoria.

  4. P: ¿Qué son las comprensiones de lista (list comprehensions)?
    R: Las comprensiones de lista son una forma concisa de crear listas basadas en listas existentes o en otros iterables.

  5. P: ¿Qué son los decoradores en Python?
    R: Los decoradores son una característica poderosa y elegante que permite modificar o extender el comportamiento de funciones o métodos.

  6. P: ¿Qué es el GIL (Global Interpreter Lock) en CPython?
    R: El GIL es un mecanismo que permite que solo un hilo controle el intérprete de Python en un momento dado. Esto puede limitar el rendimiento en tareas con muchos hilos que son intensivas en CPU.

  7. P: ¿Cómo se escribe un comentario en Python?
    R: Se utiliza el símbolo # para escribir comentarios de una sola línea. Para comentarios de varias líneas, se pueden usar triples comillas dobles """Comentario de varias líneas""" o triples comillas simples '''Otro comentario''', aunque estos se consideran más bien docstrings.