¿Te estás preparando para las entrevistas de Python? ¿O simplemente tienes curiosidad por saber cuánto Python sabes? No hay problema. Aquí cubrimos sus problemas con preguntas y respuestas.
El artículo lo ayudará a comprender qué tipo de pregunta podría enfrentar en las entrevistas. O te ayuda a evaluar tus habilidades con Python. Asegúrese de responder las preguntas antes de ver las respuestas para evaluarse con precisión. Sin más preámbulos, profundicemos en las preguntas.
Las preguntas se dividen en diferentes secciones según el tipo de temas. Cada sección tiene preguntas junto con respuestas seleccionadas. Puede modificar la respuesta con su propio idioma con el mismo significado. Por lo tanto, el entrevistador no sentirá que está leyendo algo.
Lenguaje Python
#1. ¿Qué es Python?
Python es un lenguaje de programación de propósito general interpretado de alto nivel. Podemos construir casi cualquier tipo de aplicación usando Python con bibliotecas y marcos de terceros. Python es uno de los lenguajes de programación más populares en tecnologías avanzadas como AI, Ciencia de datos, etc.
#2. ¿Cuál es la principal diferencia entre un intérprete y un compilador?
El intérprete traduce una declaración a la vez en código de máquina, mientras que el compilador traduce todo el código a la vez en código de máquina.
#3. ¿Python es un lenguaje escrito estáticamente o dinámicamente?
Python es un lenguaje escrito dinámicamente.
#4. ¿A qué te refieres con lenguaje escrito dinámicamente?
Los lenguajes tipados dinámicamente verifican los tipos de variables en tiempo de ejecución. Algunos lenguajes escritos dinámicamente son Python, JavaScript, Ruby, etc.
Bonificación: Los lenguajes de tipado estático comprueban los tipos de variables en en tiempo de compilación. Algunos lenguajes tipificados estáticamente son C ++, C, Java, etc.,
#5. Dar algunas aplicaciones de Python.
Python tiene una sintaxis más simple y fácil de aprender. Puede parecer similar al inglés. La comunidad de desarrolladores de Python es enorme. Podemos encontrar muchos paquetes de terceros para trabajar con diferentes tipos de desarrollo de aplicaciones. Cuando se trata de desarrollo, podemos crear aplicaciones web, aplicaciones GUI, aplicaciones CLI, etc.
Una de las aplicaciones más populares de Python es la automatización. Podemos crear fácilmente scripts en Python para automatizar tareas como limpiar disco, enviar mails, obtener datos sobre precios de productos, etc.
Python es uno de los lenguajes más populares para usar en el campo de la ciencia de datos.
#6. ¿Qué aplicaciones creaste usando Python?
He escrito varios scripts de automatización para eliminar tareas repetitivas y aburridas. Y scripts para obtener información sobre precios de productos, disponibilidad, etc.
También he trabajado con frameworks como Django, Flask para construir aplicaciones web. Y crea algunas aplicaciones web usando ambos Django y Frasco.
Nota: La respuesta anterior es un ejemplo. Su respuesta puede ser completamente diferente a la anterior. Intente explicar las diferentes áreas en las que ha trabajado con Python. Muestre las aplicaciones si están disponibles.
Tipos de datos
#7. ¿Cuáles son los tipos de datos integrados en Python?
Hay varios tipos de datos integrados en Python. Son int, float, complex, bool, list, tuple, set, dict, str.
Nota: yNo es necesario que le diga todos los tipos de datos presentes en Python. Mencione algunos de ellos que usa principalmente. El entrevistador puede hacer preguntas basadas en su respuesta.
#8. Cuál es la diferencia entre -- y tupla?
Ambos -- y tuple se utilizan para almacenar la colección de objetos. La principal diferencia entre la lista y la tupla es que "la lista es un objeto mutable mientras que la tupla es un objeto inmutable".
#9. ¿Qué son los tipos de datos mutables e inmutables?
Los tipos de datos mutables se pueden cambiar después de crearlos. Algunos de los objetos mutables en Python son lista, conjunto, dictar.
Los tipos de datos inmutables no se pueden cambiar después de crearlos. Algunos de los objetos inmutables en Python son str, tupla.
#10. Explique algunos métodos del --.
1. anexar - el método se utiliza para agregar un elemento a la lista. Agrega el elemento al final de la lista.
>>> a = [1, 2]
>>> a.append(3)
>>> a
[1, 2, 3]
2. Deliciosos - el método se utiliza para eliminar un elemento de la lista. Eliminará el último elemento si no proporcionamos ningún índice como argumento o eliminará el elemento en el índice si proporcionamos un argumento.
>>> a = [1, 2, 3, 4, 5]
>>> a.pop()
5
>>> a
[1, 2, 3, 4]
>>> a.pop(1)
2
>>> a
[1, 3, 4]
3. remove - el método se utiliza para eliminar un elemento de la lista. Necesitamos proporcionar el elemento como argumento que queremos eliminar de la lista. Elimina la primera aparición del elemento de la lista.
>>> a = [1, 2, 2, 3, 4]
>>> a = [1, 2, 3, 2, 4]
>>> a.remove(1)
>>> a
[2, 3, 2, 4]
>>> a.remove(2)
>>> a
[3, 2, 4]
4. sort - el método utilizado para ordenar la lista en orden ascendente o descendente.
>>> a = [3, 2, 4, 1]
>>> a.sort()
>>> a
[1, 2, 3, 4]
>>> a.sort(reverse=True)
>>> a
[4, 3, 2, 1]
5. marcha atrás - el método se utiliza para invertir los elementos de la lista.
>>> a = [3, 2, 4, 1]
>>> a.reverse()
>>> a
[1, 4, 2, 3]
Nota: Taquí hay otros métodos como claro, insertar, contar, etc… No es necesario que le explique todos los métodos de la lista al entrevistador. Simplemente explique dos o tres métodos que utiliza principalmente.
#11. Explique algunos métodos de cadena
1. dividido - el método se utiliza para dividir la cuerda en los puntos deseados. Devuelve la lista como resultado. De forma predeterminada, divide la cadena en espacios. Podemos proporcionar el delimitador como argumento para el método.
>>> a = "This is Geekflare"
>>> a.split()
['This', 'is', 'Geekflare']
>>> a = "1, 2, 3, 4, 5, 6"
>>> a.split(", ")
['1', '2', '3', '4', '5', '6']
2. únete - el método se utiliza para combinar la lista de objetos de cadena. Combina los objetos de cadena con el delimitador que proporcionamos.
>>> a = ['This', 'is', 'Geekflare']
>>> ' '.join(a)
'This is Geekflare'
>>> ', '.join(a)
'This, is, Geekflare'
Nota: SAlgunos otros métodos de cadenas son: capitalizar, isalnum, isalpha, isdigit, inferior, superior, centrar, etc ..,
#12. ¿Cuál es la indexación negativa en las listas?
El índice se utiliza para acceder al elemento de las listas. La indexación normal de la lista comienza desde 0.
Similar a la indexación normal, la indexación negativa también se usa para acceder a los elementos de las listas. Pero, la indexación negativa nos permite acceder al índice desde el final de la lista. El inicio de la indexación negativa es -1. Y sigue aumentando como -2, -3, -4, etc., hasta la longitud de la lista.
>>> a = [1, 2, 3, 4, 5]
>>> a[-1]
5
>>> a[-3]
3
>>> a[-5]
1
#13. Explique algunos métodos de dict
1. artículos - el método regresa valor clave pares de diccionarios como una lista de tuplas.
>>> a = {1: 'Geekflare', 2: 'Geekflare Tools', 3: 'Geekflare Online Compiler'}
>>> a.items()
dict_items([(1, 'Geekflare'), (2, 'Geekflare Tools'), (3, 'Geekflare Online Compiler')])
2. Deliciosos - el método se utiliza para eliminar el valor clave emparejar del diccionario. Acepta la clave como argumento y la elimina del diccionario.
>>> a = {1: 2, 2: 3}
>>> a.pop(2)
3
>>> a
{1: 2}
Nota: Algunos otros métodos de dict son: conseguir, llaves, valores, claro, etc.
#14. ¿Qué es cortar en Python?
El corte se utiliza para acceder al subarreglo desde un tipo de datos de secuencia. Devuelve los datos del tipo de datos de secuencia en función de los argumentos que proporcionamos. Devuelve el mismo tipo de datos que el tipo de datos de origen.
Rebanar acepta tres argumentos. Ellos son las Índice de comienzo, índice final y incremento paso. La sintaxis de cortar es variable[start:end:step]
. Los argumentos no son obligatorios para la segmentación. Puede especificar dos puntos vacíos (:) que devuelve todos los datos como resultado.
>>> a = [1, 2, 3, 4, 5]
>>> a[:]
[1, 2, 3, 4, 5]
>>> a[:3]
[1, 2, 3]
>>> a[3:]
[4, 5]
>>> a[0:5:2]
[1, 3, 5]
#15. ¿Qué tipos de datos permiten la segmentación?
Podemos usar rebanar lista, tupla, y str tipos de datos
#16. ¿Qué son los operadores de desempaquetado en Python? ¿Cómo usarlos?
Los operadores * y ** son operadores de descompresión en Python.
El operador de desempaquetado * se usa para asignar múltiples valores a diferentes valores a la vez de los tipos de datos de secuencia.
>>> items = [1, 2, 3]
>>> a, b, c = items
>>> a
1
>>> b
2
>>> c
3
>>> a, *b = items
>>> a
1
>>> b
[2, 3]
El ** operador de desembalaje se utiliza con dict tipos de datos. El desempaquetado en diccionarios no funciona como desempaquetado con tipos de datos de secuencia.
El desempaquetado en diccionarios se usa principalmente para copiar valor clave elementos de un diccionario a otro.
>>> a = {1:2, 3:4}
>>> b = {**a}
>>> b
{1: 2, 3: 4}
>>> c = {3:5, 5:6}
>>> b = {**a, **c}
>>> b
{1: 2, 3: 5, 5: 6}
Nota: Puedes referirte a este artículo para obtener más información sobre estos operadores.
Condiciones y bucles
#17. ¿Python tiene declaraciones de cambio?
No, Python no tiene declaraciones de cambio.
#18. ¿Cómo se implementa la funcionalidad de las declaraciones de cambio en Python?
Podemos implementar la funcionalidad de las declaraciones de cambio usando if y elif Declaraciones.
>>> if a == 1:
... print(...)
... elif a == 2:
... print(....)
#19. ¿Qué son romper y continue ¿declaraciones?
romper - la declaración de interrupción se utiliza para terminar el ciclo en ejecución. La ejecución del código saltará al exterior del bucle de interrupción.
>>> for i in range(5):
... if i == 3:
... break
... print(i)
...
0
1
2
continue - la instrucción continue se usa para omitir la ejecución del código restante. El código después de la instrucción continue no se ejecuta en la iteración actual y la ejecución pasa a la siguiente iteración.
>>> for i in range(5):
... if i == 3:
... continue
... print(i)
...
0
1
2
4
#20. ¿Cuándo está el código en más ejecutado con mientras y en bucles?
El código dentro del más bloquear con mientras y en Los bucles se ejecutan después de ejecutar todas las iteraciones. Y el código dentro del más el bloque no se ejecuta cuando rompemos los bucles.
#21. ¿Qué son las comprensiones de listas y diccionarios?
Las comprensiones de listas y diccionarios son azúcar sintáctico para el bucles for.
>>> a = [i for i in range(10)]
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a = {i: i + 1 for i in range(10)}
>>> a
{0: 1, 1: 2, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}
>>>
#22. ¿Cómo funciona la función de rango?
La función de rango devuelve la secuencia de números entre el inicio y el final con un incremento de paso. La sintaxis de la función de rango es rango (iniciar, detener [, paso]).
La detener El argumento es obligatorio. Los argumentos comienzo y paso son opcionales. El valor predeterminado de comienzo y paso están 0 y 1, respectivamente.
>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list(range(1, 10))
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list(range(1, 10, 2))
[1, 3, 5, 7, 9]
>>>
clave
#23. ¿Cuáles son los parámetros y argumentos?
Los parámetros son los nombres enumerados en la definición de la función.
Los argumentos son los valores que se pasan a la función mientras se invoca.
#24. ¿Cuáles son los diferentes tipos de argumentos en Python?
Hay principalmente cuatro tipos de argumentos. Son argumentos posicionales, argumentos predeterminados, argumentos de palabras clave y argumentos arbitrarios.
Argumentos posicionales: los argumentos normales que definimos en funciones definidas por el usuario se denominan argumentos posicionales. Todos los argumentos posicionales son necesarios al invocar la función.
>>> def add(a, b):
... return a + b
...
>>> add(1, 2)
3
>>> add(1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: add() missing 1 required positional argument: 'b'
>>>
Argumentos predeterminados: podemos proporcionar el valor a los argumentos en la propia definición de función como valor predeterminado. Cuando el usuario no pasó el valor, la función considerará el valor predeterminado.
>>> def add(a, b=3):
... return a + b
...
>>> add(1, 2)
3
>>> add(1)
4
Argumentos de palabras clave: podemos especificar el nombre de los argumentos mientras invocamos la función y asignarles valores. Los argumentos de palabras clave nos ayudan a evitar el orden que es obligatorio en los argumentos posicionales.
>>> def add(a, b):
... print("a ", a)
... print("b ", b)
... return a + b
...
>>> add(b=4, a=2)
a 2
b 4
6
Argumentos arbitrarios: utilizamos argumentos arbitrarios para recopilar un montón de valores en un momento en el que no sabemos el número de argumentos que obtendrá la función. Nosotros * y ** operadores en la definición de función para recopilar los argumentos.
>>> def add(*args):
... return sum(args)
...
>>> add(1, 2, 3, 4, 5)
15
>>> def dict_args(**kwargs):
... print(kwargs)
...
>>> dict_args(a='Geekflare', b='Geekflare Tools', c='Geekflare Online Compiler')
{'a': 'Geekflare', 'b': 'Geekflare Tools', 'c': 'Geekflare Online Compiler'}
#25. ¿Qué es la función lambda?
Las funciones Lambda son pequeñas funciones anónimas en Python. Tiene expresiones únicas y acepta múltiples argumentos.
>>> add = lambda a, b: a + b
>>> add(1, 3)
4
#26. ¿Cuál es la diferencia entre la función normal y la función lambda?
La funcionalidad de las funciones normales y las funciones lambda son similares. Pero, necesitamos escribir código adicional en funciones normales en comparación con las funciones lambda para la misma funcionalidad.
Las funciones lambda son útiles cuando hay una sola expresión.
#27. ¿Qué es pass palabra clave utilizada para?
La pass La palabra clave se usa para mencionar un bloque vacío en el código. Python no nos permite dejar los bloques sin código. Entonces el pass La declaración nos permite definir bloques vacíos (cuando decidimos completar el código más tarde).
>>> def add(*args):
...
...
File "<stdin>", line 3
^
IndentationError: expected an indented block
>>> def add(*args):
... pass
...
>>>
#28. ¿Qué es una función recursiva?
La función que se llama a sí misma se denomina función recursiva.
¿Qué son los operadores de empaquetado en Python? ¿Cómo usarlos?
Los operadores de empaquetado se utilizan para recopilar múltiples argumentos en funciones. Se les conoce como argumentos arbitrarios.
Nota: puedes referirte a este artículo para obtener más información sobre los operadores de empaquetado en Python.
#29. POO en Python
¿Qué palabra clave se usa para crear clases en Python?
La clase La palabra clave se usa para crear clases en Python. Deberíamos seguir el caso pascal para nombrar las clases en Python como una práctica estándar de la industria.
>>> class Car:
... pass
...
#30. ¿Cómo crear una instancia de una clase en Python?
Podemos crear una instancia de una clase en Python simplemente llamándola como función. Podemos pasar los atributos requeridos para el objeto de la misma manera que lo hacemos para los argumentos de la función.
>>> class Car:
... def __init__(self, color):
... self.color = color
...
>>> red_car = Car('red')
>>> red_car.color
'red'
>>> green_car = Car('green')
>>> green_car.color
'green'
>>>
#31. Que es yo en Python?
La yo representa el objeto de la clase. Se usa para acceder a los atributos y métodos del objeto dentro de la clase para el objeto en particular.
#32. ¿Qué es __init__ ¿método?
La __init__ es el método de constructor similar a los constructores en otros lenguajes de programación orientada a objetos. Se ejecuta inmediatamente cuando creamos un objeto para la clase. Se usa para inicializar los datos iniciales de la instancia.
#33. ¿Qué es docstring en Python?
Las cadenas de documentación o cadenas de documentos se utilizan para documentar un bloque de código. También se utilizan como comentarios de varias líneas.
Estas cadenas de documentación se utilizan en los métodos de una clase para describir lo que hace un determinado método. Y podemos ver el método docstring usando el ayuda método.
>>> class Car:
... def __init__(self, color):
... self.color = color
...
... def change_color(self, updated_color):
... """This method changes the color of the car"""
... self.color = updated_color
...
>>> car = Car('red')
>>> help(car.change_color)
Help on method change_color in module __main__:
change_color(updated_color) method of __main__.Car instance
This method changes the color of the car
>>>
#34. ¿Qué son los métodos dunder o mágicos?
Los métodos que tienen dos guiones bajos de prefijo y sufijo se denominan dunder o métodos mágicos. Se utilizan principalmente para anular los métodos. Algunos de los métodos que podemos anular en las clases son __str__, __len__, __setitem__, __getitem__, etc.,
>>> class Car:
... def __str__(self):
... return "This is a Car class"
...
>>> car = Car()
>>> print(car)
This is a Car class
>>>
Nota: Hay muchos otros métodos que puede anular. Son útiles cuando desea personalizar el código en profundidad. Explore la documentación para obtener más información.
#35. ¿Cómo se implementa la herencia en Python?
Podemos pasar la clase principal a la clase secundaria como argumento. Y podemos invocar la clase principal del método init en la clase secundaria.
>>> class Animal:
... def __init__(self, name):
... self.name = name
...
>>> class Animal: e):
... def __init__(self, name):
... self.name = name
...
... def display(self):
... print(self.name)
>>> class Dog(Animal): e):ame)
... def __init__(self, name):
... super().__init__(name)
...
>>> doggy = Dog('Tommy')
>>> doggy.display()
Tommy
>>>
#36. ¿Cómo acceder a la clase principal dentro de la clase secundaria en Python?
Podemos usar el súper() que se refiere a la clase principal dentro de la clase secundaria. Y podemos acceder a atributos y métodos con él.
Misceláneo
#37. ¿Cómo usar comentarios de una sola línea y de varias líneas en Python?
Utilizamos hash (#) para comentarios de una sola línea. Y comillas simples triples ("'comentario"') or comillas dobles triples ("" "comentario" "") para comentarios de varias líneas.
#38. ¿Qué es un objeto en Python?
Todo en Python es un objeto. Todos los tipos de datos, funciones y clases son objetos.
#39. Cuál es la diferencia entre is y ==?
El operador == se usa para verificar si dos objetos tienen el mismo valor o no. los is El operador se utiliza para comprobar si dos objetos se refieren a la misma ubicación de memoria o no.
>>> a = []
>>> b = []
>>> c = a
>>> a == b
True
>>> a is b
False
>>> a is c
True
>>>
#40. ¿Qué es la copia superficial y profunda?
Copia superficial: crea la copia exacta como el original sin cambiar las referencias de los objetos. Ahora, tanto los objetos copiados como los originales se refieren a las mismas referencias de objeto. Entonces, cambiar un objeto afectará al otro.
La copia método del copia El módulo se utiliza para la copia superficial.
>>> from copy import copy
>>> a = [1, [2, 3]]
>>> b = copy(a)
>>> a[1].append(4)
>>> a
[1, [2, 3, 4]]
>>> b
[1, [2, 3, 4]]
Copia profunda: copia los valores del objeto original de forma recursiva en el nuevo objeto. Tenemos que usar el rebanar or copia profunda funcionar desde el copia módulo para la copia profunda.
>>> from copy import deepcopy
>>> a = [1, [2, 3]]
>>> b = deepcopy(a)
>>> a[1].append(4)
>>> a
[1, [2, 3, 4]]
>>> b
[1, [2, 3]]
>>> b[1].append(5)
>>> a
[1, [2, 3, 4]]
>>> b
[1, [2, 3, 5]]
>>>
#41. ¿Qué son los iteradores?
Los iteradores son objetos en Python que recuerdan su estado de iteración. Inicializa los datos con el __procedimiento__ método y devuelve el siguiente elemento usando el __Siguiente__ método.
Necesitamos llamar al siguiente (iterador) para obtener el siguiente elemento del iterador. Y podemos convertir un tipo de datos de secuencia en un iterador usando el proceso método incorporado.
>>> a = [1, 2]
>>> iterator = iter(a)
>>> next(iterator)
1
>>> next(iterator)
2
>>> next(iterator)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
StopIteration
>>>
#42. ¿Qué son los generadores?
Los generadores son las funciones que devuelven un iterador como un objeto generador. Usa el rendimiento para generar los datos.
>>> def numbers(n):
... for i in range(1, n + 1):
... yield i
...
>>> _10 = numbers(10)
>>> next(_10)
1
>>> next(_10)
2
>>> next(_10)
3
>>> next(_10)
4
Conclusión 👨💻
Las preguntas no son limitadas, como vemos en este artículo. Este artículo muestra cómo se pueden hacer diferentes tipos de preguntas sobre varios temas en Python. Pero, no se limita al conjunto de preguntas que hemos discutido en este artículo.
Una forma de estar preparado mientras aprende es cuestionarse sobre diferentes temas. Intenta hacer diferentes tipos de preguntas a partir de un concepto. Y respóndelas tú mismo. De esta manera, probablemente no te sorprenderán las preguntas de la entrevista. También puede consultar el compilador de Python en línea para practicar el código.
¡Todo lo mejor para su próxima entrevista en Python! 👍