Трюк в Python: Последовательность Фибоначчи
Классический способ
Вывод:
В первом способе используются переменные
Компактный способ (с использованием list comprehension)
Вывод:
Второй способ короче и использует list comprehension. Создается начальный список
✈️ Python Ninja
Классический способ
f1 = 0
f2 = 1
fib = []
for i in range(0, 10):
fib.append(f1)
temp = f1 + f2
f1 = f2
f2 = temp
print(fib)
Вывод:
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]В первом способе используются переменные
f1 и f2, которые изначально равны 0 и 1 — первым двум числам последовательности. В цикле for текущее значение f1 добавляется в список fib, после чего вычисляется следующее число как сумма f1 и f2. Затем значения переменных обновляются: f1 принимает значение f2, а f2 — вычисленную сумму. Этот процесс повторяется 10 раз, в результате чего формируется список из первых 10 чисел ФибоначчиКомпактный способ (с использованием list comprehension)
fib = [0, 1]
[fib.append(fib[-2] + fib[-1]) for _ in range(8)]
print(fib)
Вывод:
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]Второй способ короче и использует list comprehension. Создается начальный список
fib = [0, 1], а затем в цикле 8 раз (поскольку первые два числа уже заданы) добавляется новое число, равное сумме двух последних элементов списка (fib[-2] + fib[-1]). Таким образом, list comprehension модифицирует список "на лету", добавляя очередное число Фибоначчи на каждой итерацииPlease open Telegram to view this post
VIEW IN TELEGRAM
❤6
This media is not supported in your browser
VIEW IN TELEGRAM
А вы знали что внутри в VS Code можно пройти курс по Git
GitByBit предлагает практический формат обучения прямо внутри VS Code: задания выполняются в рабочей среде, где каждое действие проверяется автоматически
Такой подход позволяет быстро и эффективно освоить Git, укрепить навыки работы с репозиториями и научиться уверенно управлять историей проекта без скучной теории💯
☝️ Ссылка источник
✈️ Python Ninja
GitByBit предлагает практический формат обучения прямо внутри VS Code: задания выполняются в рабочей среде, где каждое действие проверяется автоматически
Такой подход позволяет быстро и эффективно освоить Git, укрепить навыки работы с репозиториями и научиться уверенно управлять историей проекта без скучной теории
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Запускаем эксперимент обычный «Hello world» на разных языках и с секундомером
Тестировали всё в один поток, в контейнерных песочницах и на старом процессоре так что цифры не про рекорды, а про сравнение между собой
У интерпретируемых языков измеряли только старт, без компиляции. Kotlin, как обычно, размахнулся полоску пришлось подрезать, чтобы она влезла в 80 символов😅
Да, в настоящих проектах с зависимостями всё будет иначе. Но даже такой примитивный тест показывает, как по-разному ведут себя языки
✈️ Python Ninja
Тестировали всё в один поток, в контейнерных песочницах и на старом процессоре так что цифры не про рекорды, а про сравнение между собой
У интерпретируемых языков измеряли только старт, без компиляции. Kotlin, как обычно, размахнулся полоску пришлось подрезать, чтобы она влезла в 80 символов
Да, в настоящих проектах с зависимостями всё будет иначе. Но даже такой примитивный тест показывает, как по-разному ведут себя языки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Нашел учебный курс по продвинутому Python
Иногда попадаются материалы, которые реально меняют взгляд на язык. Этот курс по продвинутому Python как раз из таких: он учит думать на Python, а не просто писать код
Генераторы, итераторы, корутины, дизайн кода и другие вещи, до которых редко доходят в обычных туториалах
Если кажется, что вы «и так знаете Python», этот курс быстро покажет, где знания были поверхностными✏️
☝️ Ссылка источник
✈️ Python Ninja
Иногда попадаются материалы, которые реально меняют взгляд на язык. Этот курс по продвинутому Python как раз из таких: он учит думать на Python, а не просто писать код
Генераторы, итераторы, корутины, дизайн кода и другие вещи, до которых редко доходят в обычных туториалах
Если кажется, что вы «и так знаете Python», этот курс быстро покажет, где знания были поверхностными
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
This media is not supported in your browser
VIEW IN TELEGRAM
Настоящая сокровищница для любителей шпаргалок — OverAPI
Сайт где собраны удобные шпаргалки по языкам программирования вроде Python, JavaScript, CSS и многим другим. Очень выручает, когда нужно быстро что-то вспомнить и не хочется лезть в длинную документацию.
Забирай пригодится❤️
☝️ Ссылка источник
✈️ Python Ninja
Сайт где собраны удобные шпаргалки по языкам программирования вроде Python, JavaScript, CSS и многим другим. Очень выручает, когда нужно быстро что-то вспомнить и не хочется лезть в длинную документацию.
Забирай пригодится
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Откопал полезную платформу для подготовки к собесам — «DataLemur»
Коллекция практических задач по SQL, статистике, машинному обучению и Python, предназначенных для подготовки к собеседованиям в крупных компаниях в сфере аналитики данных и data science
Практикуйся прокачивай свои скиллы и уверенно проходи интервью в Google, Amazon и других гигантах😎
☝️ Ссылка источник
✈️ Python Ninja
Коллекция практических задач по SQL, статистике, машинному обучению и Python, предназначенных для подготовки к собеседованиям в крупных компаниях в сфере аналитики данных и data science
Практикуйся прокачивай свои скиллы и уверенно проходи интервью в Google, Amazon и других гигантах
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2🔥2
10 Python-однострочников, которые упростят вашу жизнь!
✈️ Python Ninja
Python умеет удивлять! Эти однострочники решают сложные задачи в одну строку — от работы со строками до обработки данных. Держите под рукой и используйте в своих проектах!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6
В Python заархивировать файлы можно буквально в пару строк
Вот пример:
Данный скрипт использует стандартный модуль
Минимум кода, максимум результата💪
✈️ Python Ninja
Вот пример:
import zipfile
files = ['file1.txt', 'file2.txt']
with zipfile.ZipFile('pycl.zip', 'w') as zipf:
for file in files:
zipf.write(file)
print("ZIP file created!")
Данный скрипт использует стандартный модуль
zipfile для упаковки списка файлов в архив формата ZIPМинимум кода, максимум результата
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤2
👍4
Полезная находка для ML-инженеров книга «Machine Learning Systems»
Ресурс, посвящённый инженерии систем машинного обучения, где ML рассматривается как целостная система, а не набор отдельных моделей
Учебник учит проектировать, оптимизировать и развертывать ML-решения с учётом реальных ограничений, инфраструктуры и требований продакшена
Приятный бонус книга полностью открытая: её исходники доступны на GitHub и постоянно обновляются☕️
☝️ Ссылка источник
✈️ Python Ninja
Ресурс, посвящённый инженерии систем машинного обучения, где ML рассматривается как целостная система, а не набор отдельных моделей
Учебник учит проектировать, оптимизировать и развертывать ML-решения с учётом реальных ограничений, инфраструктуры и требований продакшена
Приятный бонус книга полностью открытая: её исходники доступны на GitHub и постоянно обновляются
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍2
Совет по Python
Если нужно создать поле, которое не должно попадать в сгенерированный
Это особенно удобно для вычисляемых атрибутов
Поле area не передаётся при создании объекта и всегда вычисляется автоматически
✈️ Python Ninja
Если нужно создать поле, которое не должно попадать в сгенерированный
__init__ используйfield(init=False)Это особенно удобно для вычисляемых атрибутов
from dataclasses import dataclass, field
@dataclass
class Rectangle:
width: int
height: int
area: int = field(init=False)
def __post_init__(self):
self.area = self.width * self.height
Поле area не передаётся при создании объекта и всегда вычисляется автоматически
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Сборник практичных советов примеров и объяснений по Python
Сборник создан для разработчиков, которые уже знают основы и хотят большего. Он показывает Python с практичной стороны через короткие советы, наглядные примеры и понятные объяснения
Каждая глава это быстрый инсайт с примерами кода и объяснениями без лишней воды. Читайте выборочно, возвращайтесь к нужным темам💪
☝️ Ссылка источник
✈️ Python Ninja
Сборник создан для разработчиков, которые уже знают основы и хотят большего. Он показывает Python с практичной стороны через короткие советы, наглядные примеры и понятные объяснения
Каждая глава это быстрый инсайт с примерами кода и объяснениями без лишней воды. Читайте выборочно, возвращайтесь к нужным темам
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Как рисовать электрические схемы на Python
Открыл для себя
Пример:
Установка:
Если вы работаете с электроникой, физикой или просто любите визуализацию этот инструмент точно пригодится
✈️ Python Ninja
Открыл для себя
schemdraw библиотека которая превращает код в аккуратные схемы: резисторы, конденсаторы, источники, логика всё через PythonПример:
import schemdraw
import schemdraw.elements as elm
with schemdraw.Drawing():
elm.Resistor().right().label('1Ω')
elm.Capacitor().down().label('10µF')
elm.Line().left()
elm.SourceSin().up().label('10V')
Установка:
pip install schemdraw
Если вы работаете с электроникой, физикой или просто любите визуализацию этот инструмент точно пригодится
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8😍2
Совет по Python
Как получить список ключевых слов в Python?
В Python есть зарезервированные слова, которые называются ключевыми словами (keywords). Они имеют специальное значение в языке и используются для синтаксических конструкций, таких как условные операторы, циклы, объявление функций и классов.
Модуль
Помните, что ключевые слова нельзя использовать в качестве имён переменных.
Почему нельзя использовать ключевые слова как имена переменных? Потому что они зарезервированы для специальных операций. Если попытаться использовать их как переменные, Python выдаст ошибку
Как проверить, является ли строка ключевым словом?
Можно использовать
✈️ Python Ninja
Как получить список ключевых слов в Python?
В Python есть зарезервированные слова, которые называются ключевыми словами (keywords). Они имеют специальное значение в языке и используются для синтаксических конструкций, таких как условные операторы, циклы, объявление функций и классов.
Модуль
keyword в Python предоставляет список всех ключевых слов через keyword.kwlist.import keyword
print(keyword.kwlist)
Output:
['False', 'None', 'True', 'and', 'as', 'assert',
'async', 'await', 'break', 'class', 'continue',
'def', 'del', 'elif', 'else', 'except', 'finally',
'for', 'from', 'global', 'if', 'import', 'in', 'is',
'Lambda', 'nonlocal', 'not', 'or', 'pass', 'raise',
'return', 'try', 'while', 'with', 'yield']
Помните, что ключевые слова нельзя использовать в качестве имён переменных.
Почему нельзя использовать ключевые слова как имена переменных? Потому что они зарезервированы для специальных операций. Если попытаться использовать их как переменные, Python выдаст ошибку
SyntaxError.Как проверить, является ли строка ключевым словом?
Можно использовать
keyword.iskeyword():import keyword
print(keyword.iskeyword("if")) # True
print(keyword.iskeyword("hello")) # False
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4