Продолжаем публиковать вопросы, которые часто задают на собеседованиях по Python. В этой части рассмотрим задачи посложнее, для программистов уровня Middle. Вопросы других уровней можно посмотреть по ссылкам:
-12 % 10
?-12 // 10
?a * b * c
?id()
?yield
?__iter__
и __next__
?try ... finally
?unittest
в Python?__slots__
?class
?list = ['a', 'b', 'c', 'd', 'e'] print list[10:] # []
a = [[]]*3 a[1].append(1) print(a) # [[1], [1], [1]]
def foo(): from .module import * print(f"{bar()}")
/usr/lib/python/person.py
. Он запускается следующим образом: python /usr/lib/python/person.py
. Что получится в результате? Код программы ниже:class Person: def __init__(self, name): __name__ = name def getAge(self): print(__name__) p = Person("John") p.getAge()
timeit
для измерения времени работы функции.repeater
, который будет перехватывать повторяющиеся ошибки.class parent: def __init__(self, param): self.v1 = param class child: def __init__(self, param): self.v2 = param obj = child(11) print(obj.v1 + " " + obj.v2)
class Repeater: ... class RepeaterIterator: ... repeater = Repeater("Hello") for i in repeater: print(i) # hello
f()
. Мы не хотим использовать в функции f()
return
, а хотим, чтобы она была генератором.for x in f(5): print x
0 1 8 27 64
. Напишите функцию f()
, в результате работы которой будет получаться такой результат.x = [[0], [1]] print(len(' '.join(list(map(str, x)))))
class Developer: coffee_cups = 0 def __init__(self, name): self.name = name self.coffee_cups += 1 def speak(self): print(f"I'm {self.name} and I've had {self.coffee_cups} cups of coffee today") rover = Developer("Steve") spot = Developer("Bob")
Предыдущая статья: Python: вопросы собеседования. Часть I. Junior
Следующая статья: Python: вопросы собеседования. Часть III. Senior
Pydantic - это мощная библиотека проверки данных и управления настройками для Python, созданная для повышения…
Python предлагает набор библиотек, удовлетворяющих различные потребности в визуализации, будь то академические исследования, бизнес-аналитика или…
В Python для представления данных в двоичной форме можно использовать байты. Из этой статьи вы…
В этой статье рассказывается о том, что такое Werkzeug и как Flask использует его для…
При работе с датами часто возникает необходимость прибавлять к дате или вычитать из нее различные…
В этом руководстве мы рассмотрим, как добавить социальную аутентификацию с помощью GitHub и Google в…