79997296

Эта статья поможет вам понять, с каким типом вопросов вы можете столкнуться на собеседованиях. Или поможет вам оценить ваши навыки работы на Python. Убедитесь, что вы ответили на вопросы, прежде чем увидеть ответы, чтобы точно оценить себя. Без лишних слов давайте погрузимся в вопросы.

Вопросы разделены на различные разделы в зависимости от типа тем. В каждом разделе есть вопросы вместе с кураторскими ответами. Вы можете изменить ответ на своем родном языке с тем же значением. Таким образом, интервьюер не почувствует, что вы что-то читаете.

Язык Python

#1. Что такое Python?

Python-это интерпретируемый язык программирования высокого уровня общего назначения. Мы можем создать практически любой тип приложения с использованием Python с помощью сторонних библиотек и фреймворков. Python-один из самых популярных языков программирования в передовых технологиях, таких как искусственный интеллект, наука о данных и т.д.

#2. В чем основное различие между интерпретатором и компилятором?

Интерпретатор переводит по одному оператору за раз в машинный код, в то время как компилятор переводит весь код за раз в машинный код.

#3. Является ли Python статически типизированным или динамически типизированным языком?

Python-это динамически типизированный язык.

#4. Что вы подразумеваете под динамически типизированным языком?

Языки с динамической типизацией проверяют типы переменных во время выполнения. Некоторые динамически типизированные языки-это Python, JavaScript, Ruby и т. Д. Бонус: Языки со статической типизацией проверяют типы переменных во время компиляции. Некоторые статически типизированные языки-это C++, C, Java и т. Д..,

#5. Приведите некоторые приложения Python.

Python имеет более простой и легкий в освоении синтаксис. Это может выглядеть похоже на английский. Сообщество разработчиков для Python огромно. Мы можем найти множество сторонних пакетов для работы с различными типами разработки приложений. Когда дело доходит до разработки, мы можем создавать веб-приложения, приложения с графическим интерфейсом, приложения CLI и т.д..,

Одним из самых популярных приложений Python является автоматизация. Мы можем легко создавать скрипты на Python для автоматизации таких задач, как очистка диска, отправка писем, получение данных о ценах на товары и т.д.., Python-один из самых популярных языков для использования в области науки о данных.

#6. Какие приложения вы создали с помощью Python?

Я написал несколько сценариев автоматизации, чтобы исключить повторяющиеся и скучные задачи. И сценарии для получения информации о ценах на продукты, наличии и т. Д. Я также работал с такими фреймворками, как Django, Flask, для создания веб-приложений. И создайте несколько веб - приложений, используя как Django, так и Flask. Примечание: Приведенный выше ответ является примером. Ваш ответ может полностью отличаться от приведенного выше. Попробуйте объяснить различные области, над которыми вы работали с помощью Python. Покажите приложения, если они доступны.

Типы данных

#7. Каковы встроенные типы данных в Python?

В Python существует множество встроенных типов данных. Это int, float, complex, bool, список, кортеж, набор, дикт, str. Примечание:Вам не нужно указывать все типы данных, присутствующие в Python. Упомяните некоторые из них, которыми вы в основном пользуетесь. Интервьюер может задавать вопросы, основываясь на вашем ответе.

#8. В чем разница между списком и кортежем?

И список, и кортеж используются для хранения коллекции объектов. Основное различие между списком и кортежем заключается в том, что “список является изменяемым объектом, в то время как кортеж является неизменяемым объектом”.

#9. Что такое изменяемые и неизменяемые типы данных?

Изменяемые типы данных могут быть изменены после их создания. Некоторые изменяемые объекты в Python-это список, набор, дикт. Неизменяемые типы данных нельзя изменить после их создания. Некоторые из неизменяемых объектов в Python-это str, кортеж.

#10. Объясните некоторые методы из списка.

1. добавить – метод используется для добавления элемента в список. Он добавляет элемент в конец списка.

  • >>> a = [1, 2]
  • >>> a.append(3)
  • >>> a
  • [1, 2, 3]

2. pop – метод используется для удаления элемента из списка. Он удалит последний элемент, если мы не приведем никакого индекса в качестве аргумента, или удалит элемент в индексе, если мы приведем аргумент.

  • >>> a = [1, 2, 3, 4, 5]
  • >>> a.pop()
  • 5
  • >>> a
  • [1, 2, 3, 4]
  • >>> a.pop(1)
  • 2
  • >>> a
  • [1, 3, 4]
3. удалить – метод используется для удаления элемента из списка. Нам нужно указать элемент в качестве аргумента, который мы хотим удалить из списка. Он удаляет первое вхождение элемента из списка.

  • >>> 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. сортировка – метод, используемый для сортировки списка в порядке возрастания или убывания.

  • >>> a = [3, 2, 4, 1]
  • >>> a.sort()
  • >>> a
  • [1, 2, 3, 4]
  • >>> a.sort(reverse=True)
  • >>> a
  • [4, 3, 2, 1]

5. реверс – метод используется для реверса элементов списка.

  • >>> a = [3, 2, 4, 1]
  • >>> a.reverse()
  • >>> a
  • [1, 4, 2, 3]

Примечание: Tвот другие методы, такие как очистка, вставка, подсчет и т. Д.… Вам не нужно объяснять интервьюеру каждый метод списка. Просто объясните два или три метода, которые вы в основном используете.

#11. Объясните некоторые методы построения

1. разделение – метод используется для разделения строки в нужных точках. В результате он возвращает список. По умолчанию он разбивает строку на пробелы. Мы можем указать разделитель в качестве аргумента для метода.

  • >>> 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. соединение – метод используется для объединения списка строковых объектов. Он объединяет строковые объекты с разделителем, который мы предоставляем.

  • >>> a = ['This', 'is', 'Geekflare']
  • >>> ' '.join(a)
  • 'This is Geekflare'
  • >>> ', '.join(a)
  • 'This, is, Geekflare'

Примечание. К другим методам строк относятся: с заглавной буквы, isalnum, isalpha, isdigit, нижний, верхний, центральный и т. Д..,

#12. Какова отрицательная индексация в списках?

Индекс используется для доступа к элементу из списков. Нормальная индексация списка начинается с 0. Аналогично обычной индексации, отрицательная индексация также используется для доступа к элементам из списков. Но отрицательная индексация позволяет нам получить доступ к индексу из конца списка. Начало отрицательной индексации равно -1. И он продолжает увеличиваться, как -2, -3, -4и т. Д., До длины списка.

  • >>> a = [1, 2, 3, 4, 5]
  • >>> a[-1]
  • 5
  • >>> a[-3]
  • 3
  • >>> a[-5]
  • 1

#13. Объясните некоторые методы диктата

1. элементы – метод возвращает пары словарей "ключ: значение" в виде списка кортежей.

  • >>> a = {1: 'Geekflare', 2: 'Geekflare Tools', 3: 'Geekflare Online Compiler'}
  • >>> a.items()
  • dict_items([(1, 'Geekflare'), (2, 'Geekflare Tools'), (3, 'Geekflare Online Compiler')])

2. pop – метод используется для удаления пары ключ: значение из словаря. Он принимает ключ в качестве аргумента и удаляет его из словаря.

  • >>> a = {1: 2, 2: 3}
  • >>> a.pop(2)
  • 3
  • >>> a
  • {1: 2}

Примечание. Некоторые другие методы dict: get, ключи, значения, очистить и т. Д.

#14. Что такое нарезка на Python?

Срезание используется для доступа к подмножеству из типа данных последовательности. Он возвращает данные из типа данных последовательности на основе предоставленных нами аргументов. Он возвращает тот же тип данных, что и исходный тип данных. Нарезка принимает три аргумента. Это начальный индекс, конечный индекси шаг приращения. Синтаксис нарезки таков variable[start:end:step]. Аргументы не являются обязательными для нарезки. Вы можете указать пустое двоеточие (:), которое в результате возвращает все данные.

  • >>> 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. Какие типы данных допускают срезание?

Мы можем использовать нарезку для типов данных list, tuple и str.

#16. Что такое операторы распаковки в Python? Как их использовать?

Операторы * и * * - это операторы распаковки в Python. Оператор * распаковки используется для одновременного присвоения нескольких значений различным значениям из типов данных последовательности.

  • >>> items = [1, 2, 3]
  • >>> a, b, c = items
  • >>> a
  • 1
  • >>> b
  • 2
  • >>> c
  • 3
  • >>> a, *b = items
  • >>> a
  • 1
  • >>> b
  • [2, 3]

Оператор распаковки ** используется для типов данных dict. Распаковка в словарях работает не так, как распаковка с последовательными типами данных. Распаковка в словарях в основном используется для копирования элементов "ключ: значение" из одного словаря в другой.

  • >>> 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}

Примечание: Вы можете обратиться к этой статье для получения дополнительной информации об этих операторах.

Условия и циклы

#17. Есть ли в Python операторы переключения?

Нет, в Python нет операторов switch.

#18. Как вы реализуете функциональность операторов переключения в Python?

Мы можем реализовать функциональность операторов switch, используя операторы if и elif.

  • >>> if a == 1:
  • ... print(...)
  • ... elif a == 2:
  • ... print(....)

#19. Что такое заявления о разрыве и продолжении?

break – оператор break используется для завершения текущего цикла. Выполнение кода переместится за пределы цикла прерывания.

  • >>> for i in range(5):
  • ... if i == 3:
  • ... break
  • ... print(i)
  • ...
  • 0
  • 1
  • 2

продолжить – оператор continue используется для пропуска выполнения оставшегося кода. Код после инструкции continue не выполняется в текущей итерации, и выполнение переходит к следующей итерации.

  • >>> for i in range(5):
  • ... if i == 3:
  • ... continue
  • ... print(i)
  • ...
  • 0
  • 1
  • 2
  • 4

#20. Когда код в else выполняется с циклами while и for?

Код внутри блока else с циклами while и for выполняется после выполнения всех итераций. И код внутри блока else не выполняется, когда мы разрываем циклы.

#21. Что такое понимание списка и словаря?

Понимание списка и словаря является синтаксическим сахаром для циклов 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. Как работает функция диапазона?

Функция диапазона возвращает последовательность чисел между началом и остановкой с шагом приращения. Синтаксис функции диапазона-диапазон(начало, остановка[, шаг]). Аргумент stop является обязательным. Аргументы start и step являются необязательными. Значения по умолчанию "Начало" и " шаг " равны 0 и 1 соответственно.

  • >>> 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]
  • >>>

Functions

#23. What are the parameters and arguments?

Parameters are the names listed in the function definition. Аргументы-это значения, передаваемые функции при вызове.

#24. Каковы различные типы аргументов в Python?

В основном существует четыре типа аргументов. Это позиционные аргументы, аргументы по умолчанию, аргументы ключевых слов и произвольные аргументы. Позиционные аргументы: обычные аргументы, которые мы определяем в пользовательских функциях, называются позиционными аргументами. При вызове функции требуются все позиционные аргументы.

  • >>> def add(a, b):
  • ... return a + b
  • ...
  • >>> add(1, 2)
  • 3
  • >>> add(1)
  • Traceback (most recent call last):
  • File "", line 1, in
  • TypeError: add() missing 1 required positional argument: 'b'
  • >>>

Аргументы по умолчанию: мы можем указать значение аргументов в самом определении функции в качестве значения по умолчанию. Если пользователь не передал значение, функция будет учитывать значение по умолчанию.

  • >>> def add(a, b=3):
  • ... return a + b
  • ...
  • >>> add(1, 2)
  • 3
  • >>> add(1)
  • 4

Аргументы ключевых слов: мы можем указать имя аргументов при вызове функции и присвоить им значения. Аргументы ключевых слов помогают нам избежать упорядочения, которое является обязательным в позиционных аргументах.

  • >>> def add(a, b):
  • ... print("a ", a)
  • ... print("b ", b)
  • ... return a + b
  • ...
  • >>> add(b=4, a=2)
  • a 2
  • b 4/li>
  • 6

Произвольные аргументы: мы используем произвольные аргументы для сбора набора значений в то время, когда мы не знаем количество аргументов, которые получит функция. Мы * и ** операторы в определении функции для сбора аргументов.

  • >>> 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. Что такое лямбда-функция?

Лямбда-функции-это небольшие анонимные функции в Python. Он содержит одиночные выражения и принимает множественные аргументы.

  • >>> add = lambda a, b: a + b
  • >>> add(1, 3)
  • 4

#26. В чем разница между нормальной функцией и лямбда-функцией?

Функциональность как обычных функций, так и лямбда-функций аналогична. Но нам нужно написать дополнительный код в обычных функциях по сравнению с лямбда-функциями для той же функциональности. Лямбда-функции пригодятся, когда есть одно выражение.

#27. Для чего используется

Ключевое слово pass используется для упоминания пустого блока в коде. Python не позволяет нам оставлять блоки без какого-либо кода. Таким образом, оператор pass позволяет нам определять пустые блоки (когда мы решим заполнить код позже).

  • >>> def add(*args):
  • ...
  • ...
  • File "", line 3
  • ^
  • IndentationError: expected an indented block
  • >>> def add(*args):
  • ... pass
  • ...
  • >>>

#28. Что такое рекурсивная функция?

Вызывающая себя функция называется рекурсивной функцией.

Что такое операторы упаковки в Python? Как их использовать?

Операторы упаковки используются для сбора нескольких аргументов в функциях. Они известны как произвольные аргументы. Примечание: вы можете обратиться к этой статье для получения дополнительной информации об операторах упаковки в Python.

#29. Ой на Python

Какое ключевое слово используется для создания классов в Python?

Ключевое слово class используется для создания классов в Python. Мы должны следовать примеру паскаля для именования классов в Python в качестве стандартной отраслевой практики.

  • >>> class Car:
  • ... pass
  • ...

#30. Как создать экземпляр класса в Python?

Мы можем создать экземпляр класса в Python, просто вызвав его как функцию. Мы можем передавать необходимые атрибуты для объекта таким же образом, как и для аргументов функций.

  • >>> 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. Что такое самость в Python?

Личность представляет объект класса. Он используется для доступа к атрибутам и методам объекта внутри класса для конкретного объекта.

#32. Каков __метод_________?

__init__ - это метод конструктора, аналогичный конструкторам в других языках OOP. Он выполняется немедленно, когда мы создаем объект для класса. Он используется для инициализации исходных данных для экземпляра.

#33. Что такое docstring в Python?

Строки документации или строки документов используются для документирования блока кода. Они также используются в качестве многострочных комментариев. Эти строки документов используются в методах класса для описания того, что делает определенный метод. И мы можем увидеть строку документа метода, используя метод справки.

  • >>> 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. What are dunder or magic methods?

Методы, имеющие два подчеркивания префикса и суффикса, называются методами dunder или magic. Они в основном используются для переопределения методов. Некоторые из методов, которые мы можем переопределить в классах, это __str__, __len__, __setitem__, __getitem__ и т. Д..,

  • >>> class Car:
  • ... def __str__(self):
  • ... return "This is a Car class"
  • ...
  • >>> car = Car()
  • >>> print(car)
  • This is a Car class
  • >>>

Примечание:#35.Мы можем передать родительский класс дочернему классу в качестве аргумента. И мы можем вызвать родительский класс метода инициализации в дочернем классе.Копировать

#35. Как вы реализуете наследование в Python?

Мы можем передать родительский класс дочернему классу в качестве аргумента. И мы можем вызвать родительский класс метода инициализации в дочернем классе.

  • >>> 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. Как получить доступ к родительскому классу внутри дочернего класса в Python?

Мы можем использовать функцию super (), которая ссылается на родительский класс внутри дочернего класса. И с его помощью мы можем получить доступ к атрибутам и методам.

Разное

#37. Как использовать однострочные и многострочные комментарии в Python?

Мы используем хэш (#) для однострочных комментариев. И тройные одинарные кавычки (”комментарий”) или тройные двойные кавычки (“комментарий””") для многострочных комментариев.

#38. Что такое объект в Python?

Все в Python является объектом. Все типы данных, функции и классы являются объектами.

#39. В чем разница между is и ==?

Оператор == используется для проверки того, имеют ли два объекта одинаковое значение или нет. Оператор is используется для проверки того, ссылаются ли два объекта на одну и ту же ячейку памяти или нет.

  • >>> a = []
  • >>> b = []
  • >>> c = a
  • >>> a == b
  • True
  • >>> a is b
  • False
  • >>> a is c
  • True
  • >>>

#40. Что такое мелкое и глубокое копирование?

Неглубокая копия: она создает точную копию оригинала без изменения ссылок на объекты. Теперь как скопированные, так и исходные объекты ссылаются на одни и те же ссылки на объекты. Таким образом, изменение одного объекта повлияет на другой. Метод копирования из модуля копирования используется для неглубокой копии.

  • >>> 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]]

Глубокое копирование: он рекурсивно копирует значения исходного объекта в новый объект. Для глубокого копирования мы должны использовать функцию нарезки или deepcopy из модуля копирования.

  • >>> 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. Что такое итераторы?

Итераторы-это объекты в Python, которые запоминают свое состояние итерации. Он инициализирует данные с помощью __iter__ метода и возвращает следующий элемент с помощью __следующего__ метода. We need to call the next(iterator) to get the next element from the iterator. And we can convert a sequence data type to an iterator using the iter built-in method.

  • >>> a = [1, 2]
  • >>> iterator = iter(a)
  • >>> next(iterator)
  • 1
  • >>> next(iterator)
  • 2
  • >>> next(iterator)
  • Traceback (most recent call last):
  • File "", line 1, in
  • StopIteration
  • >>>

# 42. Что такое генераторы?

Генераторы-это функции, возвращающие итератор, подобный объекту генератора. Он использует выход для генерации данных.

  • >>> 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

Вывод

статье показано, как различные типы вопросов могут задаваться из различных тем в Python. Но это не ограничивается набором вопросов, которые мы обсудили в этой статье.

Один из способов подготовиться во время обучения-задавать себе вопросы на разные темы. Попробуйте сделать различные типы вопросов из концепции. И ответьте на них сами. Таким образом, вас, вероятно, не удивят вопросы на собеседовании. Вы также можете проверить онлайн-компилятор Python, чтобы попрактиковаться в коде. Всего наилучшего для вашего предстоящего интервью на Python!

"Вся Информация Размещенная В Блоге "Septem Plus" Несет Ознакомительно-Информационный Характер И Не Принуждает К Каким Либо Действиям Пользователей Блога. Блог "Septem Plus" Не Несет Ответственности За Действия Пользователей После Посещения Блога "Septem Plus"."

Так же прочитайте наши другие статьи: 6 Приложений Для Зеркального Отображения! и 6 Инструментов Для Исправления Фото!, а так же 12 Инструментов Для Обмена Файлами! и получайте полезную информацию вместе с нами!) Так же не забывайте подписаться на нас в соц сетях , что бы не пропустить новые и полезные статьи)