Что выведет код сверху?
Anonymous Quiz
45%
<class 'tuple'>
44%
<class 'int'>
5%
<class 'str'>
6%
<class 'bool'>
👍29❤2
🐍 У нас есть еженедельная email-рассылка, посвященная последним открытиям и тенденциям в мире Python.
В ней:
● Новые возможности в последних версиях Python
● Работа с базами данных и SQL в Python
● Веб-разработка на Django и Flask
● Машинное обучение и анализ данных с помощью Python
● Автоматизация и работа с API на Python
● Тестирование и отладка кода на Python
● Задачи для новичков с решениями
👉Подписаться👈
В ней:
● Новые возможности в последних версиях Python
● Работа с базами данных и SQL в Python
● Веб-разработка на Django и Flask
● Машинное обучение и анализ данных с помощью Python
● Автоматизация и работа с API на Python
● Тестирование и отладка кода на Python
● Задачи для новичков с решениями
👉Подписаться👈
Каждая строчка кода, как правило, содержит как минимум одно выражение, которое вычисляется в значение. Если Python откладывает вычисление какого-либо значения до тех пор, пока оно не понадобится, то мы можем назвать это ленивыми вычислениями.
В качестве примера ленивых вычислений можно привести использование
range()
в цикле:for index in range(1, 1_000_001):
print(f"This is iteration {index}")
Почему? Дело в том, что объект range не хранит весь миллион чисел, которые может использовать. Вместо этого, цикл for создаёт
range_iterator
, который генерирует следующее число в последовательности только тогда, когда оно понадобится. 🔗 Более подробно о ленивых вычислениях в Python можно прочесть в новой статье на Real Python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24
print([line.strip() for line in open("text.txt")])
column_names = ['name', 'salary', 'job']
db_rows = [('Alice', 180000, 'data scientist'),
('Bob', 99000, 'mid-level manager'),
('Frank', 87000, 'CEO')]
db = [dict(zip(column_names, row)) for row in db_rows]
print(db) # ->
'''
[{'name': 'Alice', 'salary': 180000, 'job': 'data scientist'},
{'name': 'Bob', 'salary': 99000, 'job': 'mid-level manager'},
{'name': 'Frank', 'salary': 87000, 'job': 'CEO'}]
'''
from functools import reduce
n = 5
print(reduce(lambda x, y: x * y, range(1, n+1)))
unsorted = [33, 2, 3, 45, 6, 54, 33]
quick = lambda l: quick([x for x in l[1:] if x <= l[0]]) + [l[0]] + quick([x for x in l if x > l[0]]) if l else []
print(quick(unsorted))
nums = [1, 2, 3, 4, 5, 6]
sum_even = sum([num for num in nums if num%2 == 0])
print(sum_even)
visitors = ['Firefox', 'corrupted', 'Chrome', 'corrupted',
'Safari', 'corrupted', 'Safari', 'corrupted',
'Chrome', 'corrupted', 'Firefox', 'corrupted']
visitors[1::2] = visitors[::2]
print(visitors) # ->
'''
['Firefox', 'Firefox', 'Chrome', 'Chrome', 'Safari', 'Safari',
'Safari', 'Safari', 'Chrome', 'Chrome', 'Firefox', 'Firefox']
'''
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31🔥7❤1
Автор YouTube-канала Indently выпустил новый ролик, в котором перечислил худшие, по его мнению, особенности Python. Это:
print("ololo" "alala") # -> ololoalala
🔗 Ссылка на ролик с подробным объяснением
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Python's 5 Worst Features
Hello Bob! Today I'm going to be sharing with you 5 of Python's worst features (in my opinion).
▶ Become job-ready with Python:
https://www.indently.io
▶ Follow me on Instagram:
https://www.instagram.com/indentlyreels
00:00 Learning Python made simple…
▶ Become job-ready with Python:
https://www.indently.io
▶ Follow me on Instagram:
https://www.instagram.com/indentlyreels
00:00 Learning Python made simple…
🥱20👍9❤3🤔3
🐍🃏 Python-карточки — небольшое залипалово на вечер
Нашли сайт с бесплатным набором карточек по стандартным модулям Python(там есть и платные) . Алгоритм простой:
▫️Вводите свою почту;
▫️Вам присылают ссылку на личный профиль (для сохранения результатов);
▫️Каждый день выдаётся набор карточек с вопросами по модулям. Можно выбрать максимум до 20 карточек в день. Всего в наборе 285 карточек;
▫️Пытаетесь ответить на вопрос, а потом проверяете себя.
Внимание: карточки на английском языке.
🔗 Ссылка на сайт
Нашли сайт с бесплатным набором карточек по стандартным модулям Python
▫️Вводите свою почту;
▫️Вам присылают ссылку на личный профиль (для сохранения результатов);
▫️Каждый день выдаётся набор карточек с вопросами по модулям. Можно выбрать максимум до 20 карточек в день. Всего в наборе 285 карточек;
▫️Пытаетесь ответить на вопрос, а потом проверяете себя.
🔗 Ссылка на сайт
👍13❤5🥰4
Forwarded from Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
🤖🖼️ Как работают визуальные трансформеры: магия превращения пикселей в знания
Визуальные трансформеры (Vision Transformers, ViTs) — класс моделей глубокого обучения, которые достигли выдающихся результатов в задачах классификации изображений. В основе ViTs лежит архитектура трансформеров, изначально разработанная для обработки естественного языка.
В новой статье подробно рассказываем(с картинками) , как работают такие модели компьютерного зрения.
🔗 Читать статью
🔗 Зеркало
Визуальные трансформеры (Vision Transformers, ViTs) — класс моделей глубокого обучения, которые достигли выдающихся результатов в задачах классификации изображений. В основе ViTs лежит архитектура трансформеров, изначально разработанная для обработки естественного языка.
В новой статье подробно рассказываем
🔗 Читать статью
🔗 Зеркало
❤🔥5👍3
💬 Какие принципы ООП вы знаете?
Их четыре:
▫️наследование;
▫️инкапсуляция;
▫️полиморфизм;
▫️абстракция.
🔹Наследование
Наследование позволяет новому классу наследовать атрибуты и методы уже существующего класса. Новый класс называется производным (дочерним). Существующий — базовым (родительским).
🔹Инкапсуляция
Этот принцип заключается в ограничении доступа к внутренним методам и переменным класса извне. В Python принцип реализован лишь на уровне соглашений: приватные атрибуты выделяются подчёркиванием — одинарным _ или двойным __. Эти подчёркивания сигнализируют другим программистам о приватности. Однако доступ к ним всё равно можно получить.
🔹Полиморфизм
Полиморфизм позволяет использовать одну функцию для разных форм (типов данных). В Python это проявляется, например, когда дочерний класс переопределяет методы родительского класса или когда разные классы имеют методы с одинаковыми именами, но собственной реализацией.
🔹Абстракция
Абстракция позволяет определить общее поведение для группы объектов. Это достигается путём создания классов, которые имеют некоторые общие свойства и методы, но не включают все детали реализации.
#вопросы_с_собеседований
Их четыре:
▫️наследование;
▫️инкапсуляция;
▫️полиморфизм;
▫️абстракция.
🔹Наследование
Наследование позволяет новому классу наследовать атрибуты и методы уже существующего класса. Новый класс называется производным (дочерним). Существующий — базовым (родительским).
🔹Инкапсуляция
Этот принцип заключается в ограничении доступа к внутренним методам и переменным класса извне. В Python принцип реализован лишь на уровне соглашений: приватные атрибуты выделяются подчёркиванием — одинарным _ или двойным __. Эти подчёркивания сигнализируют другим программистам о приватности. Однако доступ к ним всё равно можно получить.
🔹Полиморфизм
Полиморфизм позволяет использовать одну функцию для разных форм (типов данных). В Python это проявляется, например, когда дочерний класс переопределяет методы родительского класса или когда разные классы имеют методы с одинаковыми именами, но собственной реализацией.
🔹Абстракция
Абстракция позволяет определить общее поведение для группы объектов. Это достигается путём создания классов, которые имеют некоторые общие свойства и методы, но не включают все детали реализации.
#вопросы_с_собеседований
❤18🥰7😁5👍4🔥2🤔1
🤖 Пишем Telegram-ботов с aiogram 3.x
Это большой и подробный гайд по разработке Telegram-ботов на Python с использованием фреймворка aiogram 3.x. Подходит начинающим(и содержит при этом некоторые упрощения) .
Рассказывает о:
🔹Установке aiogram и создании простейшего бота;
🔹Работе с сообщениями и кнопками;
🔹Роутерах (не оборудовании);
🔹Фильтрах и др.
🔗 Ссылка на гайд
Это большой и подробный гайд по разработке Telegram-ботов на Python с использованием фреймворка aiogram 3.x. Подходит начинающим
Рассказывает о:
🔹Установке aiogram и создании простейшего бота;
🔹Работе с сообщениями и кнопками;
🔹Роутерах (не оборудовании);
🔹Фильтрах и др.
🔗 Ссылка на гайд
❤6👍4
Позволяет воспроизводить звуки без зависимостей и ограничений по платформе. Библиотека работает на разных операционных системах, включая Windows, macOS и Linux. Поддерживает воспроизведение различных аудиоформатов, в том числе WAV и MP3.
Nava — лёгкая в использовании и может помочь в случаях, когда нужно быстро добавить функциональность воспроизведения звука в программу на Python.
from nava import play
play("alarm.wav")
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉13❤5👍2
🤔 Google уволила команду Python-разработчиков
В преддверии ежегодной конференции Google I/O компания уволила сотрудников ключевых команд, не только Python, но и также Flutter, Dart и др. Сама Google говорит, что сделала это ради упрощения и повышения эффективности.
🐍 Сотрудники же рассказали чуть больше подробностей о происходящем. Так, по словам одного из них, были уволены люди, которые управляли всеми внутренними процессами, связанными с Python. Как отметили другие комментаторы, годами большую часть работы в Python-команде выполняли менее 10 человек.
Многие люди в соцсетях уже выразили обеспокоенность увольнением Python-разработчиков. Но, похоже, что Google не избавилась от таковых окончательно: возможно, их просто заменили специалистами из другой страны.
В преддверии ежегодной конференции Google I/O компания уволила сотрудников ключевых команд, не только Python, но и также Flutter, Dart и др. Сама Google говорит, что сделала это ради упрощения и повышения эффективности.
🐍 Сотрудники же рассказали чуть больше подробностей о происходящем. Так, по словам одного из них, были уволены люди, которые управляли всеми внутренними процессами, связанными с Python. Как отметили другие комментаторы, годами большую часть работы в Python-команде выполняли менее 10 человек.
Python был одним из первых языков, которые Google стала активно использовать. Это был последний главный язык бэкенда, для которого собрали команду.
Многие люди в соцсетях уже выразили обеспокоенность увольнением Python-разработчиков. Но, похоже, что Google не избавилась от таковых окончательно: возможно, их просто заменили специалистами из другой страны.
🤔26😁12🌚5👍4❤1
📦 Подборка Python-библиотек для сжатия и архивирования файлов
🔸zlib
Модуль из стандартной библиотеки. Функция zlib.compress(s), например, позволяет получить сжатую строку. Коэффициент сжатия, то есть показатель того, насколько эффективно алгоритм может уменьшить размер входных данных, у zlib довольно высокий.
🔸LZ4
Библиотека предоставляет Python-интерфейс для алгоритма LZ4. Он отличается высокой скоростью сжатия. С задачами, на которые у Zlib уходит примерно 7.5 секунды, LZ4 может справиться менее чем за секунду. Коэффициент сжатия, правда, может быть ниже, чем у других алгоритмов.
🔸Brotli
Эта библиотека была разработана Google. Brotli использует современный вариант алгоритма LZ77, кодирование Хаффмана и контекстное моделирование второго порядка.
🔸Zstandard (zstd)
Тоже предлагает высокую скорость сжатия с высоким коэффициентом. У алгоритма также есть специальный режим для малых данных dictionary compression.
🔸zlib
Модуль из стандартной библиотеки. Функция zlib.compress(s), например, позволяет получить сжатую строку. Коэффициент сжатия, то есть показатель того, насколько эффективно алгоритм может уменьшить размер входных данных, у zlib довольно высокий.
🔸LZ4
Библиотека предоставляет Python-интерфейс для алгоритма LZ4. Он отличается высокой скоростью сжатия. С задачами, на которые у Zlib уходит примерно 7.5 секунды, LZ4 может справиться менее чем за секунду. Коэффициент сжатия, правда, может быть ниже, чем у других алгоритмов.
🔸Brotli
Эта библиотека была разработана Google. Brotli использует современный вариант алгоритма LZ77, кодирование Хаффмана и контекстное моделирование второго порядка.
🔸Zstandard (zstd)
Тоже предлагает высокую скорость сжатия с высоким коэффициентом. У алгоритма также есть специальный режим для малых данных dictionary compression.
👍12❤1
This media is not supported in your browser
VIEW IN TELEGRAM
💬 Что вас мотивирует в работе?
❤️ — развитие своих профессиональных скиллов
👍 — преимущественно деньги
🤔 — я просто не хочу умереть с голоду
🌚 — одобрение коллег, поддержка определённого статуса
👾 — я верю, что занимаюсь чем-то полезным и ценным
#интерактив
❤️ — развитие своих профессиональных скиллов
👍 — преимущественно деньги
🤔 — я просто не хочу умереть с голоду
🌚 — одобрение коллег, поддержка определённого статуса
👾 — я верю, что занимаюсь чем-то полезным и ценным
#интерактив
❤79👍74👾39🤔27😁3🌚2
🐍 Как скрыть чувствительные данные в отчётах об ошибках в Django
В Django есть встроенная функция отправки сообщений об ошибках приложения небольшому списку администраторов. Нужно просто настроить параметр ADMINS и подготовить приложение к отправке электронных писем. Все ошибки (со статусом 500 и выше) будут вызывать отправку нового сообщения со всеми деталями.
Это удобно, но такие сообщения могут содержать конфиденциальную информацию (пароли, номера кредитных карт, личные данные и т.д.). Статья в блоге Гонсало Валерио посвящена методам фильтрации таких чувствительных данных с помощью декораторов @sensitive_variables() и @sensitive_post_parameters().
🔗 Читать статью
В Django есть встроенная функция отправки сообщений об ошибках приложения небольшому списку администраторов. Нужно просто настроить параметр ADMINS и подготовить приложение к отправке электронных писем. Все ошибки (со статусом 500 и выше) будут вызывать отправку нового сообщения со всеми деталями.
Это удобно, но такие сообщения могут содержать конфиденциальную информацию (пароли, номера кредитных карт, личные данные и т.д.). Статья в блоге Гонсало Валерио посвящена методам фильтрации таких чувствительных данных с помощью декораторов @sensitive_variables() и @sensitive_post_parameters().
🔗 Читать статью
👏10
Что делает yield в Python?
Это оператор, который используется в генераторных функциях вместо
Если мы имеем дело с генераторной функцией, то каждый раз, когда внутри неё встречается
📎 Пример генераторной функции с
#вопросы_с_собеседований
Это оператор, который используется в генераторных функциях вместо
return
. Обычная функция завершает работу если встретилось выражение return
, или закончился код функции, или возникло исключение. После выполнения функции, управление возвращается. Если мы имеем дело с генераторной функцией, то каждый раз, когда внутри неё встречается
yield
, выполнение приостанавливается и возвращает значение. При следующем запросе, генератор начинает работать с того же места, где он завершил работу в прошлый раз. Так как оператор yield
не завершает работу генератора, он может использоваться несколько раз.yield
:def simple_generator():
yield "Hello"
yield "World"
gen = simple_generator()
print(next(gen)) # Выводит "Hello"
print(next(gen)) # Выводит "World"
#вопросы_с_собеседований
Please open Telegram to view this post
VIEW IN TELEGRAM
👍35❤5🤔3🥱1
👩🏻💻📓 Гайд по последовательностям в Python
Последовательность — это структура данных, которая содержит элементы, организованные в определённом порядке. Доступ к этим элементам можно получить через обращение по индексу. В Python основные типы последовательностей — это списки, кортежи и строки.
Новое руководство на Real Python рассматривает:
• Характеристики последовательностей;
• Общие операции над последовательностями;
• Специальные методы последовательностей;
• Классы Sequence и MutableSequence;
• Создание пользовательских изменяемых и неизменяемых последовательностей.
🔗 Читать статью
Последовательность — это структура данных, которая содержит элементы, организованные в определённом порядке. Доступ к этим элементам можно получить через обращение по индексу. В Python основные типы последовательностей — это списки, кортежи и строки.
Новое руководство на Real Python рассматривает:
• Характеристики последовательностей;
• Общие операции над последовательностями;
• Специальные методы последовательностей;
• Классы Sequence и MutableSequence;
• Создание пользовательских изменяемых и неизменяемых последовательностей.
🔗 Читать статью
👍10❤2
🐍💪 ТОП-5 вопросов повышенной сложности на собеседовании по Python
Метаклассы, дескрипторы, модификаторы доступа — звучит сложно? В новой статье разбираем 5 вопросов, которые часто задают на собеседованиях по Python.
🔗 Читать статью
🔗 Зеркало
Метаклассы, дескрипторы, модификаторы доступа — звучит сложно? В новой статье разбираем 5 вопросов, которые часто задают на собеседованиях по Python.
🔗 Читать статью
🔗 Зеркало
😁11👍1
Чем занимались и ещё планируете заняться на майских?
Anonymous Poll
20%
Шашлыками ♨️
12%
Поеду в небольшое путешествие ✈️
35%
Буду обучаться чему-нибудь новому 🎓
17%
Буду заниматься пет-проектами 🐶
21%
Переделаю домашние дела 🏠
28%
Буду работать 👨🏻💻
21%
Посвящу свободное время своим хобби 🎸
30%
Буду разлагаться на диване 🛋️
🤔7🔥4🌚3👍2
Forwarded from Библиотека нейросетей | ChatGPT, Midjourney, DeepSeek, Sora
Вы когда-нибудь задумывались, как можно использовать искусственный интеллект для того, чтобы подготовиться к техническим собеседованиям лучше, быстрее и эффективнее? Мы вот — да! И поэтому подготовили 55 промтов, которые помогут сделать это.
В статье собраны шаблоны запросов, которые желательно «докрутить» под себя.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥6👍4❤3