Вопросы для собеседования / интервью о базовых аспектах программирования на питоне с ответами
В31. Что такое словарь (dictionary)?
Словарь содержит пары типа "ключ: значение":
>>> roots={25: 5, 16: 4, 9: 3, 4: 2, 1: 1}
>>> type(roots)
>>> roots[9]
3
Словарь относится к изменяемым (mutable) объектам. Его можно создать помощью:
- литерала (символов {})
- функции dict()
- генератора (comprehension)
В32. Расскажите про арифметические операторы //, %, и **.
Оператор // выполняет целочисленное деление и возвращает целую часть числа, полученного в результате операции:
>>> 7 // 2
3
Оператор ** возводит в степень:
>>> 2**10
1024
Оператор % возвращает результат деления по модулю, то есть остаток после деления:
>>> 13%7
6
В33. Что вам известно про операторы сравнения в питоне?
Данные операторы сравнивают значения между собой.
Оператор "меньше" (<): если значение с левой стороны от оператора меньше, он возвращает True:
>>> "hi"<"Hi"
False
Оператор "больше" (>): если значение с левой стороны от оператора больше, он возвращает True:
>>> 1.1+2.2>3.3
True
Оператор "меньше или равно" (<=): если значение с левой стороны от оператора меньше значения с правой стороны или равно ему, он возвращает True:
>>> 3.0 <= 3
True
Оператор "больше или равно" (>=): если значение с левой стороны от оператора больше значения с правой стороны или равно ему, он возвращает True:
>>> True >= False
True
Оператор равенства (==): если значения равны, он возвращает True:
>>> {1,3,2,2} == {1,2,3}
True
Оператор неравенства (!=): если значения не равны, он возвращает True:
>>> False != 0.1
True
В34. Что такое операторы присвоения в питоне?
Все арифметические операторы можно комбинировать с символом присвоения.
>>> a = 7
>>> a += 1
>>> a
8
>>> a -= 1
>>> a
7
>>> a *= 2
>>> a
14
>>> a /= 2
>>> a
7.0
>>> a **= 2
>>> a
49.0
>>> a // =3
>>> a
16.0
>>> a %= 4
>>> a
0.0
В35. Расскажите про логические операторы в питоне.
Всего их три: and, or, not.
>>> False and True
False
>>> 7 < 7 or True
True
>>> not 2 == 2
False
В36. Что такое оператор принадлежности?
Это операторы in и not in. Они показывают, является ли одно значение частью другого.
>>> "me" in "disappointment"
True
>>> "us" not in "disappointment"
True
В37. Расскажите про операторы тождественности.
Операторы is и is not показывают, являются ли два значения идентичными.
>>> 10 is "10"
False
>>> True is not False
True
В38. Что такое битовые операторы?
Данные операторы выполняют операции в битовом формате.
>>> 0b110 & 0b010
2
>>> 3 | 2
3
>>> 3 ^ 2
1
>>> ~2
-3
>>> 1<<2
4
>>> 4>>2
1
В39. Какие типы данных поддерживаются в питоне?
В питоне используется пять типов данных:
- числа, которые содержат числовые значения;
- строки, который представляют собой последовательность символов; обозначаются одинарными или двойными кавычками.
- списки, который представляют собой коллекцию значений; обозначаются квадратными скобками.
- кортежи, которые похожи на списки, но отличаются тем, что не могут быть изменены.
- словари, которые содержат пары "ключ: значение"; обозначаются фигурными скобками.
В40. Что такое строка документации (docstring)?
Она вносится первой строкой в блок, определяющий содержание функции, класса или метода. Содержит описание их цели и способа исполнения. Обозначается тремя одинарными или двойными кавычками с каждой стороны.
>>> def sayhi():
"""
The function prints Hi
"""
print("Hi")
>>> sayhi()
Hi
Посмотреть ее содержание мы можем с помощью __doc__:
>>> sayhi.__doc__
"\n\tThis function prints Hi\n\t"
В отличие от комментария строка документации читается во время исполнения.
В41. Как можно конвертировать строку в число?
Если строка содержит только числовые символы, можно использовать функцию int():
>>> int("227")
227
В42. Как можно принять результат ввода на клавиатуре?
Если пользователь что-то вводит с помощью клавиатуры, можно использовать функцию input(). В качестве аргумента можно задать данной функции текст запроса на ввод. Результат ввода всегда является строкой.
>>> a = input("Enter a number")
Enter a number7
В43. Что такое функция?
Когда мы хотим исполнить определенную последовательность (sequence of statements), мы можем дать ей имя. Например, определим функцию, которая принимает два числа и возвращает то, которое больше.
>>> def greater(a,b):
return a is a>b else b
>>> greater(3,3.5)
3.5
В44. Что такое рекурсия?
Это когда функция вызывает саму себя. При этом она должна иметь базовое условие, чтобы не создать бесконечный цикл:
>>> def facto(n):
if n == 1: return 1
return n * facto(n - 1)
>>> facto(4)
24
В45. Что делает функция zip()?
Возвращает итератор с кортежами:
>>> list(zip(["a", "b", "c"],[1, 2, 3]))
[("a", 1), ("b", 2), ("c", 3)]
В данном случае она совмещает элементы двух списков и создает из них кортежи. Работает не только со списками.
В46. Как посчитать длину строки (string)?
Для этого вызываем функцию len():
>>> len("Ayushi Sharma")
13
В47. Расскажите про генераторы списков (list comprehension).
Они позволяют создавать списки с помощью одной строки кода:
>>> [i for i in range(1, 11, 2)]
[1, 3, 5, 7, 9]
В48. Как можно получить все значения из словаря?
Для этого используется метод values()
>>> 4 in {"a":1,"b":2,"c":3,"d":4}.values()
True
В49. Как можно переключить регистр строки?
Можно использовать метод swapcase(), предусмотренный для класса str:
>>> "AyuShi".swapcase()
"aYUsHI"
В50. Возьмем строку "I love Python". Напишите код, который выведет символы до буквы "t".
>>> s = "I love Python"
>>> i = 0
>>> while s[i] != "t":
print(s[i], end="")
i += 1
>>> I love Py
В51. Возьмем строку "I love Python". Напишите код, который выведет эту строку без пробелов.
>>> s = "I love Python"
>>> for i in s:
if i == ' ': continue
print(i, end='')
>>> IlovePython
В52. Возьмем строку "I love Python". Напишите код, который выведет эту строку пять раз подряд.
>>> s = "I love Python"
>>> for i in range(6):
print(s)
>>> I love Python
>>> I love Python
>>> I love Python
>>> I love Python
>>> I love Python
В53. Для чего используется bytes()?
Это встроенная функция питона, которая возвращает неизменяемый байтовый объект.
>>> bytes([2,4,8])
b’\x02\x04\x08′
>>> bytes(5)
b’\x00\x00\x00\x00\x00′
>>> bytes('world','utf-8')
b’world’
В54. Что такое оператор контроля последовательности (control flow statement)?
Обычно программа в питоне начинает исполнение с первой строки. После нее программа однократно исполняет каждое предложение. Когда будет исполнено последнее предложение, программа прекращается. Также контроль последовательности помогает усложнить обычный порядок исполнения программы.
В55. Создайте новый лист с помощью конвертации списка числовых строк в список чисел.
>>> nums = [‘22’, ’68’, ’110’, ’89’, ’31’, ’12’]
Теперь возьмем функцию int() и создадим генератор списка, который конвертирует строки в числа и внесет их в список:
>>> [int(i) for i in nums]
[22, 68, 110, 89, 31, 12]
В56. Как лучше всего хранить имена и фамилии наших работников?
Можно создать словарь, содержащий пары "ключ: значение":
{"имя": "Ayushi", "фамилия": "Sharma"}
2>
Do'stlaringiz bilan baham: |