Python Learning
34.6K subscribers
1.91K photos
8 videos
7 files
914 links
№ 4974297878

Обучающий канал по Python

Ссылка для друга - https://yangx.top/+I7jrAQKR5xAyYTAy

По всем вопросам @mascarov_valentin

Реклама на бирже - https://telega.in/c/Python_per_month
加入频道
#Вопросы_с_собеседования

Что будет в результате выполнения данного кода?

Ответ:
Результатом выполнения данного кода будет [6, 6, 6, 6], а не [0, 2, 4, 6].

Это объясняется тем, что замыкания в Python работают по принципу позднего связывания. Это означает, что значения переменных, используемых в замыканиях, ищутся во время вызова внутренней функции. Поэтому, когда вызывается любая из функций, возвращаемых multipliers(), значение i ищется исключительно в области видимости этой функции в данный момент. А значение i, вне зависимости от того, какая из функций вызывается, после завершения цикла for всегда равно 3. Таким образом, каждая возвращаемая функция умножает значение, которое ей передано, на 3, а поскольку в приведенном выше коде передается значение 2 , все они возвращают значение 6 (то есть 3 x 2).
👍28🤔7
This media is not supported in your browser
VIEW IN TELEGRAM
Как выглядело бы Московское метро в трехмерном мире

Смотреть статью
🔥37😱8🎉8👍2😢2
#Вопросы_с_собеседования

Какие нюансы есть в использовании чисел как ключей?

Числовые ключи в словарях подчиняются правилам сравнения чисел. Таким образом, int(1) и float(1.0) считаются одинаковым ключом. Однако из-за того, что значения типа float сохраняются приближенно, не рекомендуется использовать их в качестве ключей.
👍19🎉7
Что выведет код сверху?
Anonymous Quiz
47%
True
42%
False
11%
Error
🎉29👍11😱3🤔2
8 технологий, которые должен знать каждый Python-разработчик

Джентльменский набор пайтон-разработчика, который пригодится вне зависимости от того, куда вы пойдете: в инжиниринг, машинное обучение или бэкенд-разработку.

Смотреть статью
👍19🔥51
#Вопросы_с_собеседования

Что значит *args, **kwargs? И зачем нам их использовать?

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

**kwargs используется, когда мы не знаем, сколько аргументов ключевых слов будет передано, а также он может быть использован для передачи значений словаря в качестве аргументов ключевых слов. Идентификаторы args и kwargs необязательны, вы можете изменить их на другие, типа *другой **пример, но лучше использовать имя по умолчанию.
👍20🎉7🤔5
Функция divmod()

Функция divmod() возвращает кортеж, содержащий частное и остаток. Не поддерживает комплексные числа. Со смешанными типами операндов применяются правила для двоичных арифметических операторов.

Для целых результат аналогичен (a // b, a % b).
👍265😢2🎉2🍾2
Что выведет код сверху?
Anonymous Quiz
63%
2345
4%
55
16%
77
17%
7
👍36🤔24🏆8🎉4😢3🍾2🆒2
Узнаем расстояние между городами

Геодезическое расстояние – это длина кратчайшего пути между двумя точками на любой поверхности Земли. В следующем примере мы покажем, как пользователь может вычислить геодезическое расстояние на основе данных широты и долготы.

В нашем примере мы узнаем, ято расстояние между городами Нью-Йорк и Техас 2507 километров.
👍174🎉2😱1
Узнаем в какой части света находится страна

countryinfo - модуль Python для возврата данных о странах, информации ISO и штатах/провинциях внутри них.

Установка пакета - pip install countryinfo.

Документацию пакета можно найти здесь.
👍24🎉5😱21😢1
Кто быстрее создаёт списки в Python, list() или []

В процессе написания очередной программы задумался над тем, какой способ создания списков в Python работает быстрее. Большинство моих знакомых используют квадратные скобки. А некоторые совсем забыли о существовании функции list(). Предлагаю Вашему вниманию небольшое исследование.

Смотреть статью
👍11😢1
#Вопросы_с_собеседования

Что будет в результате выполнения данного кода?

Ответ:
Данный код выдаст в виде результата пустой список [], а ошибка IndexError не возникнет.

Как известно, попытка доступа к элементу списка с использованием индекса, превышающего число элементов (например, операция list[10] в списке выше), приводит к ошибке IndexError. Однако, попытка получить доступ к срезу списка с начальным индексом, превышающем количество элементов в списке, не приведет к IndexError и просто вернет пустой список.

Особенно неприятным это обстоятельство делает то, что оно может привести к ошибкам, которые действительно трудно отследить, поскольку во время выполнения кода не возникает никаких ошибок.
👍46🎉9😱71🔥1
Получаем формы сайта

С помощью пакета mechanize легко получить формы сайта для последующего входа в аккаунт или других действий.

Создаём объект браузера и с помощью функции forms возвращаем все формы.

Документация пакета находится здесь.
👍23
🤔9👍1
Что выведет код сверху?
Anonymous Quiz
9%
100
14%
0
40%
10000
37%
Error
🤔23👍7🎉6🍾4🏆3
Упрощение конструкций с if

Если вам нужно проверить несколько значений, сделайте так, как показано выше на картинке.
👍86🎉23🏆3