Las 40 mejores preguntas y respuestas de entrevistas de Python

Python es un lenguaje de programación de alto nivel y propósito general. Es el lenguaje más popular entre desarrolladores y programadores, ya que se puede usar en aprendizaje automático, desarrollo web, procesamiento de imágenes, etc. Actualmente, muchas empresas de tecnología como Google, Amazon, Facebook, etc. utilizan Python y contratan a muchos gente cada año. Hemos preparado una lista de las 40 principales preguntas de la entrevista de Python junto con sus respuestas.

Top-40-Python-Interview-Questions-Answers

1. ¿Qué es Python? Enumere algunas aplicaciones populares de Python en el mundo de la tecnología.

Python es un lenguaje de programación de alto nivel y propósito general ampliamente utilizado. Fue creado por Guido van Rossum en 1991 y desarrollado por Python Software Foundation. Fue diseñado con énfasis en la legibilidad del código y su sintaxis permite a los programadores expresar sus conceptos en menos líneas de código.
Se utiliza para:

  • Secuencias de comandos del sistema
  • Desarrollo web
  • Desarrollo de juegos
  • Desarrollo de software
  • Matemáticas Complejas

2. ¿Cuáles son los beneficios de usar el lenguaje Python como herramienta en el escenario actual?

Los siguientes son los beneficios de usar el lenguaje Python:

  • Lenguaje orientado a objetos
  • Lenguaje de alto nivel
  • Lenguaje escrito dinámicamente
  • Amplias bibliotecas de soporte
  • Presencia de módulos de terceros
  • Código abierto y desarrollo comunitario
  • Portátil e Interactivo
  • Portátil en todos los sistemas operativos

3. ¿Qué técnica de clasificación utilizan las funciones sort() y sorted() de python?

Python usa el algoritmo Tim Sort para ordenar. Es una clasificación estable cuyo peor caso es O(N log N). Es un algoritmo de clasificación híbrido, derivado de la clasificación por fusión y la clasificación por inserción, diseñado para funcionar bien en muchos tipos de datos del mundo real.

4. ¿Diferenciar entre Lista y Tupla?

Analicemos las diferencias entre Lista y Tupla:

Lista

  • Las listas son de tipo de datos mutables.
  • Las listas consumen más memoria
  • La lista es mejor para realizar operaciones, como inserción y eliminación.
  • La implicación de las iteraciones lleva mucho tiempo

tupla

  • Las tuplas son tipos de datos inmutables.
  • Tuple consume menos memoria en comparación con la lista
  • El tipo de datos de tupla es apropiado para acceder a los elementos.
  • La implicación de las iteraciones es comparativamente más rápida

Para leer más, consulte el artículo: Lista vs Tupla

5. ¿Cómo se hace la gestión de memoria en Python?
Python usa su espacio de almacenamiento dinámico privado para administrar la memoria. Básicamente, todos los objetos y estructuras de datos se almacenan en el espacio de almacenamiento dinámico privado. Incluso el programador no puede acceder a este espacio privado ya que el intérprete se encarga de este espacio. Python también tiene un recolector de basura incorporado, que recicla toda la memoria no utilizada y la libera y la pone a disposición del espacio de almacenamiento dinámico.

Para leer más, consulte el artículo: Gestión de memoria en Python

6. ¿Qué es PEP 8?

PEP 8 es una guía de estilo de Python. Es un documento que proporciona las pautas y las mejores prácticas sobre cómo escribir un hermoso código de Python. Promueve un estilo de codificación muy legible y agradable a la vista.

Para leer más, consulte el artículo: Estilo de codificación PEP 8

7. ¿Python es un lenguaje compilado o un lenguaje interpretado?

En realidad, Python es un lenguaje parcialmente compilado y parcialmente interpretado. La parte de compilación se realiza primero cuando ejecutamos nuestro código y esto generará un código de bytes e internamente este código de bytes se convierte mediante la máquina virtual de Python (pvm) de acuerdo con la plataforma subyacente (máquina + sistema operativo).

Para leer más, consulte el artículo: Python: ¿compilado o interpretado?

8. ¿Cómo eliminar un archivo usando Python?

Podemos eliminar un archivo usando Python siguiendo los siguientes enfoques:

  • os.remove()
  • os.unlink()

9. ¿Qué son los decoradores?

Los decoradores son una herramienta muy poderosa y útil en Python, ya que son el cambio específico que hacemos en la sintaxis de Python para modificar funciones fácilmente.

Para leer más, consulte el artículo: Decoradores en Python

10. ¿Cuál es la diferencia entre el tipo de datos mutable y el tipo de datos inmutable?

Los tipos de datos mutables se pueden editar, es decir, pueden cambiar en tiempo de ejecución. Por ejemplo: lista, diccionario, etc.
Los tipos de datos inmutables no se pueden editar, es decir, no se pueden cambiar en tiempo de ejecución. Por ejemplo, string, tupla, etc.

11. ¿Cuál es la diferencia entre Conjunto y Diccionario?

Set es una colección desordenada de tipo de datos que es iterable, mutable y no tiene elementos duplicados.
El diccionario en Python es una colección desordenada de valores de datos, que se utiliza para almacenar valores de datos como un mapa.

Para leer más, consulte el artículo: Conjuntos y Diccionario

12. ¿Cómo se depura un programa de Python?

Usando este comando podemos depurar un programa de python:

$ python -m pdb python-script.py

13. ¿Qué es el Decapado y Decapado?

El módulo Pickle acepta cualquier objeto de Python y lo convierte en una representación de string y lo vuelca en un archivo usando la función de volcado, este proceso se llama decapado. Mientras que el proceso de recuperar objetos Python originales de la representación de string almacenada se denomina desempacado.

Para leer más, consulte el artículo: Módulo Pickle en Python

14. ¿Cómo se pasan los argumentos por valor o por referencia en Python?
Todo en Python es un objeto y todas las variables contienen referencias a los objetos. Los valores de referencia son de acuerdo a las funciones; como resultado, no puede cambiar el valor de las referencias. Sin embargo, puede cambiar los objetos si es mutable.

15. ¿Qué es la comprensión de listas? Dar un ejemplo.

La comprensión de listas es una construcción de sintaxis para facilitar la creación de una lista basada en iterables existentes.

Por ejemplo:

my_list = [i for i in range(1, 10)]

16. ¿Qué es la comprensión de diccionario? Dar un ejemplo

Dictionary Comprehension es una construcción de sintaxis para facilitar la creación de un diccionario basado en el iterable existente.

Por ejemplo: my_dict = {i:1+7 for i in range(1, 10)}

17. ¿La tupla es comprensión? Si sí, ¿cómo y si no por qué?

(i for i in (1, 2, 3))

La comprensión de tuplas no es posible en Python porque terminará en un generador, no en una comprensión de tuplas.

18. ¿Qué es el espacio de nombres en Python?

Un espacio de nombres es un sistema de nombres que se utiliza para asegurarse de que los nombres sean únicos para evitar conflictos de nombres.

Para leer más, consulte el artículo: Espacio de nombres en Python

19. ¿Qué es una función lambda?

Una función lambda es una función anónima. Esta función puede tener cualquier número de parámetros, pero puede tener solo una declaración. Por ejemplo:

a = lambda x, y : x*y
print(a(7, 19))

Para leer más, consulte el artículo: Funciones Lambda

20. ¿Qué es un pase en Python?

Pasar significa no realizar ninguna operación o, en otras palabras, es un marcador de posición en la declaración compuesta, donde debe quedar un espacio en blanco y no se debe escribir nada allí.

21. ¿Cuál es la diferencia entre la función xrange y range?

range() y xrange() son dos funciones que podrían usarse para iterar un cierto número de veces en bucles for en Python. En Python 3, no hay xrange, pero la función range se comporta como xrange en Python 2.

  • range() : devuelve una lista de números creados con la función range().
  • xrange() : esta función devuelve el objeto generador que se puede usar para mostrar números solo mediante un bucle. El único rango particular se muestra bajo demanda y, por lo tanto, se denomina evaluación perezosa .

Para leer más, consulte el artículo: Range vs Xrange

22. ¿Cuál es la diferencia entre / y // en Python?

// representa división de piso mientras que / representa división precisa. Por ejemplo:

5//2 = 2
5/2 = 2.5

23. ¿Qué es la función zip?

La función zip() de Python devuelve un objeto zip, que asigna un índice similar de varios contenedores. Toma un iterable, lo convierte en un iterador y agrega los elementos en función de los iterables pasados. Devuelve un iterador de tuplas.

24. ¿Qué es la función swapcase en Python?

Es una función de string que convierte todos los caracteres en mayúsculas en minúsculas y viceversa. Se utiliza para alterar el caso existente de la string. Este método crea una copia de la string que contiene todos los caracteres en el caso de intercambio. Por ejemplo:

string = "GeeksforGeeks"
string.swapcase() ---> "gEEKSFORgEEKS"

25. ¿Qué son los iteradores en Python?

En Python, los iteradores se usan para iterar un grupo de elementos, contenedores como una lista. Los iteradores son la colección de elementos y pueden ser una lista, una tupla o un diccionario. El iterador de Python implementa __itr__ y el método next() para iterar los elementos almacenados. En Python, generalmente usamos bucles para iterar sobre las colecciones (lista, tupla).

Para leer más, consulte el artículo: Iteradores en Python

26. ¿Qué son los generadores en Python?

En Python, el generador es una forma que especifica cómo implementar iteradores. Es una función normal excepto que produce expresión en la función. No implementa el método __itr__ y next() y también reduce otros gastos generales.

Si una función contiene al menos una declaración de rendimiento, se convierte en un generador. La palabra clave yield detiene la ejecución actual guardando sus estados y luego reanuda desde el mismo cuando es necesario.

Para leer más, consulte el artículo: generadores en Python

27. ¿Cuáles son las nuevas funciones agregadas en la versión Python 3.8?

Las siguientes son las nuevas características en la versión de Python 3.8:

  • Parámetro solo posicional (/)
  • Expresión de asignación (: =)
  • f-strings ahora admite «=»
  • invertido() funciona con un diccionario
    • Para leer más, consulte el artículo: Funciones impresionantes en Python 3.8

      28. ¿Qué es el parcheo mono en Python?

      En Python, el término parche de mono solo se refiere a modificaciones dinámicas de una clase o módulo en tiempo de ejecución.

# g.py
class GeeksClass:
    def function(self):
        print "function()"

import m
def monkey_function(self):
    print "monkey_function()"
 
m.GeeksClass.function = monkey_function
obj = m.GeeksClass()
obj.function()

Para leer más, consulte el artículo: Parches de monos en Python

29. ¿Python admite múltiples herencias?

Python admite la herencia múltiple, a diferencia de Java. La herencia múltiple significa que una clase puede derivarse de más de una clase principal.

30. ¿Qué es el polimorfismo en Python?

Polimorfismo significa la capacidad de tomar múltiples formas. Entonces, por ejemplo, si la clase principal tiene un método llamado ABC, la clase secundaria también puede tener un método con el mismo nombre ABC que tiene sus propios parámetros y variables. Python permite el polimorfismo.

Para leer más, consulte el artículo: Polimorfismo en Python

31. ¿Definir encapsulación en Python?

La encapsulación significa unir el código y los datos. Una clase de Python es un ejemplo de encapsulación.

Para leer más, consulte el artículo: Encapsulación en Python

32. ¿Cómo haces la abstracción de datos en Python?

La abstracción de datos proporciona solo los detalles requeridos y oculta la implementación del mundo. Se puede lograr en Python usando interfaces y clases abstractas.

Para leer más, consulte el artículo: Abstracción en Python

33. ¿Qué bases de datos son compatibles con Python?

MySQL (estructurado) y MongoDB (no estructurado) son las bases de datos destacadas que se admiten de forma nativa en Python. Importe el módulo y comience a usar las funciones para interactuar con la base de datos.

34. ¿Cómo se realiza el manejo excepcional en Python?

Hay 3 palabras clave principales, es decir, probar, excepto y finalmente, que se utilizan para detectar excepciones y manejar el mecanismo de recuperación en consecuencia. Try es el bloque de un código que se supervisa en busca de errores. Excepto que el bloque se ejecuta cuando ocurre un error.

La belleza del bloque final es ejecutar el código después de intentar el error. Este bloque se ejecuta independientemente de si se produjo un error o no. Finalmente, el bloque se usa para realizar las actividades de limpieza requeridas de objetos/variables.

35. ¿Qué hace el símbolo ‘#’ en Python?

‘#’ se usa para comentar todo lo que viene después en la línea.

36. Escribir un código para mostrar la hora actual?

currenttime= time.localtime(time.time())
print (“Current time is”, currenttime)

37. ¿Cuál es la diferencia entre una copia superficial y una copia profunda?

La copia superficial se usa cuando se crea un nuevo tipo de instancia y conserva los valores que se copian, mientras que la copia profunda almacena los valores que ya se copiaron.

Una copia superficial tiene una ejecución de programa más rápida, mientras que una copia profunda lo hace más lento.

Para leer más, consulte el artículo: Copia superficial frente a copia profunda

38. ¿Qué es PIP?

PIP es un acrónimo de Python Installer Package que proporciona una interfaz perfecta para instalar varios módulos de Python. Es una herramienta de línea de comandos que puede buscar paquetes en Internet e instalarlos sin la interacción del usuario.

Para leer más, consulte el artículo: PIP en Python

39. ¿Qué es __init__() en Python?

Equivalente a los constructores en la terminología de programación orientada a objetos, __init__ es un método reservado en las clases de Python. El método __init__ se llama automáticamente cada vez que se inicia un nuevo objeto. Este método asigna memoria al nuevo objeto tan pronto como se crea. Este método también se puede utilizar para inicializar variables.

40. ¿Cuál es la longitud máxima posible de un identificador?

Los identificadores en Python pueden tener cualquier longitud.

Publicación traducida automáticamente

Artículo escrito por chaudhary_19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *