Целых 25 лучших практик для разработки на Python в одной статье
Если вы хотите не просто программировать на Python, но и делать это качественно, быстро, создавать гибкий и масштабируемый код, который поймёте не только вы, но и ваши коллеги, то читайте и запоминайте:
https://proglib.io/p/25-luchshih-praktik-razrabotki-na-python-2024-07-09
Что бы вы добавили к этому списку?
#советы
Если вы хотите не просто программировать на Python, но и делать это качественно, быстро, создавать гибкий и масштабируемый код, который поймёте не только вы, но и ваши коллеги, то читайте и запоминайте:
https://proglib.io/p/25-luchshih-praktik-razrabotki-na-python-2024-07-09
Что бы вы добавили к этому списку?
#советы
⚡2🔥1
Большая шпаргалка по Python
У этого репозитория уже более 36 тысяч звёзд на GitHub, а последнее обновление было на прошлой неделе.
Шпаргалка покрывает большинство возможностей Python, поэтому её полезно держать при себе каждому Python-разработчику. Особенно если работаете на MacOS или Linux.
Сохраняйте в избранное и не забывайте: https://github.com/gto76/python-cheatsheet
#шпаргалка
У этого репозитория уже более 36 тысяч звёзд на GitHub, а последнее обновление было на прошлой неделе.
Шпаргалка покрывает большинство возможностей Python, поэтому её полезно держать при себе каждому Python-разработчику. Особенно если работаете на MacOS или Linux.
Сохраняйте в избранное и не забывайте: https://github.com/gto76/python-cheatsheet
#шпаргалка
👍5☃2❤1
Зачем нужен List Comprehensions и как он помогает Python-разработчикам
List Comprehensions — это мощный инструмент в Python, который позволяет создавать списки простым и читаемым способом. Используя List Comprehensions, вы можете избавиться от громоздких циклов
Основной синтаксис List Comprehensions выглядит так:
Где
Простой пример:
Создадим список квадратов чисел от 1 до 5:
Пример с условием:
Теперь создадим список из чисел от 1 до 5, но включим только четные числа:
Вложенные циклы:
Создадим матрицу 3x3 из чисел от 1 до 3:
Пример с условием и вложенными циклами:
Предположим, у нас есть список словарей, и мы хотим извлечь все дни рождения:
Используя List Comprehensions, вы можете значительно сократить объем кода и сделать его более читаемым. Это особенно полезно для создания списков из данных, применения условий и работы с многомерными структурами данных.
#советы
List Comprehensions — это мощный инструмент в Python, который позволяет создавать списки простым и читаемым способом. Используя List Comprehensions, вы можете избавиться от громоздких циклов
for
и сделать код более компактным.Основной синтаксис List Comprehensions выглядит так:
[выражение for элемент in итерируемый_объект]
Где
выражение
определяет, что будет добавлено в новый список, а элемент
перебирает каждый элемент в итерируемый_объект
.Простой пример:
Создадим список квадратов чисел от 1 до 5:
squares = [x**2 for x in range(1, 6)]
print(squares) # Результат: [1, 4, 9, 16, 25]
Пример с условием:
Теперь создадим список из чисел от 1 до 5, но включим только четные числа:
even_numbers = [x for x in range(1, 6) if x % 2 == 0]
print(even_numbers) # Результат: [2, 4]
Вложенные циклы:
Создадим матрицу 3x3 из чисел от 1 до 3:
matrix = [[x for x in range(1, 4)] for y in range(1, 4)]
print(matrix) # Результат: [[1, 2, 3], [1, 2, 3], [1, 2, 3]]
Пример с условием и вложенными циклами:
Предположим, у нас есть список словарей, и мы хотим извлечь все дни рождения:
people = [
{"first_name": "Василий", "last_name": "Марков", "birthday": "9/25/1984"},
{"first_name": "Регина", "last_name": "Павленко", "birthday": "8/21/1995"}
]
birthdays = [person["birthday"] for person in people if "birthday" in person]
print(birthdays) # Результат: ['9/25/1984', '8/21/1995']
Используя List Comprehensions, вы можете значительно сократить объем кода и сделать его более читаемым. Это особенно полезно для создания списков из данных, применения условий и работы с многомерными структурами данных.
#советы
👍12❤2
Генератор QR-кодов для Wi-Fi
Сегодня многие роутеры уже умеют сами генерировать QR-код для подключения к сети. Но если вы хотите разобраться в том, как это работает с точки зрения кода или ваш роутер так не умеет, то эта библиотека вам поможет.
GitHub
#библиотека
Сегодня многие роутеры уже умеют сами генерировать QR-код для подключения к сети. Но если вы хотите разобраться в том, как это работает с точки зрения кода или ваш роутер так не умеет, то эта библиотека вам поможет.
GitHub
#библиотека
👍8❤🔥2🎉2
Делаем полнотекстовый поиск на Python из 150 строк
Полнотекстовый поиск используется повсюду. Именно с помощью него вы можете без труда быстро находить нужную информацию за доли секунд.
Здесь вы узнаете, как работает полнотекстовый поиск, на каких компонентах он основан, а также сможет изучить простой код для его реализации:
https://bart.degoe.de/building-a-full-text-search-engine-150-lines-of-code/
Полнотекстовый поиск используется повсюду. Именно с помощью него вы можете без труда быстро находить нужную информацию за доли секунд.
Здесь вы узнаете, как работает полнотекстовый поиск, на каких компонентах он основан, а также сможет изучить простой код для его реализации:
https://bart.degoe.de/building-a-full-text-search-engine-150-lines-of-code/
👍7
Шпаргалка Python.pdf
1.7 MB
Шпаргалка по Python для начинающих
Тут собрано более 20 страниц со шпаргалками, которые пригодятся каждому начинающему Python-разработчику и не только.
Скачивайте и сохраняйте пост в избранном
#шпаргалка
Тут собрано более 20 страниц со шпаргалками, которые пригодятся каждому начинающему Python-разработчику и не только.
Скачивайте и сохраняйте пост в избранном
#шпаргалка
🔥7❤3👎2👍1
Что выведет следующий код?
Anonymous Quiz
5%
[1, 4, 9, 16, 25, 36, 49, 64, 81]
84%
[0, 4, 16, 36, 64]
6%
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
6%
[1, 2, 4, 8, 16, 32, 64, 128, 256]
🔥15👎3❤🔥1
10 итераторов, о которых вы могли не знать
Python позволяет легко работать с коллекциями и различными последовательностями: строками в файлах, списками, ключами, значениями в словарях и прочим. И это возможно благодаря протоколу итераторов, который, в частности, обеспечивает работу цикла
Наверняка вы знаете несколько способов итерации в Python, но в этой статье представлены интересные и малоизвестные примеры:
https://habr.com/ru/post/697390/
Python позволяет легко работать с коллекциями и различными последовательностями: строками в файлах, списками, ключами, значениями в словарях и прочим. И это возможно благодаря протоколу итераторов, который, в частности, обеспечивает работу цикла
for
.Наверняка вы знаете несколько способов итерации в Python, но в этой статье представлены интересные и малоизвестные примеры:
https://habr.com/ru/post/697390/
👍6🔥3
В Python слишком много менеджеров пакетов?
В отличие от JavaScript, C#, Dart или Rust, где есть стандартизированные менеджеры пакетов типа npm, NuGet, pub или Cargo, Python стандарты обошли стороной. У него есть целый ворох менеджеров, например, pip, venv, conda и др.
Хорошо это или плохо? Автор этой статьи попробовал разобраться в этом вопрос, попутно разобрав популярные менеджеры для Python:
https://dublog.net/blog/so-many-python-package-managers/
А вы за обилие вариантов или мечтаете о стандартизации?
В отличие от JavaScript, C#, Dart или Rust, где есть стандартизированные менеджеры пакетов типа npm, NuGet, pub или Cargo, Python стандарты обошли стороной. У него есть целый ворох менеджеров, например, pip, venv, conda и др.
Хорошо это или плохо? Автор этой статьи попробовал разобраться в этом вопрос, попутно разобрав популярные менеджеры для Python:
https://dublog.net/blog/so-many-python-package-managers/
А вы за обилие вариантов или мечтаете о стандартизации?
👍4
Как писать чистый код на Python. Советы разработчикам
Написав несколько проектов, вы заметите, что использование паттернов и правил написания кода действительно упрощает разработку и дальнейшую поддержку. А если работаете с кем-то, то без этого вообще никуда.
В этой статье вы узнаете, что такое PEP8, poetry, как создавать архитектуру python-приложения, какие существуют методологии Driven Development и как писать чистый код на Python.
#советы #чистыйкод
Написав несколько проектов, вы заметите, что использование паттернов и правил написания кода действительно упрощает разработку и дальнейшую поддержку. А если работаете с кем-то, то без этого вообще никуда.
В этой статье вы узнаете, что такое PEP8, poetry, как создавать архитектуру python-приложения, какие существуют методологии Driven Development и как писать чистый код на Python.
#советы #чистыйкод
⚡3❤1👍1
Что произойдет, если попытаться выполнить следующий код для изменения элемента в кортеже?
Варианты ответа ниже.
#викторина
Варианты ответа ниже.
#викторина
❤🔥4
Что произойдет, если попытаться выполнить код выше для изменения элемента в кортеже?
Anonymous Quiz
9%
Кортеж будет изменен и выведет: (1, 5, 3, 4)
7%
Будет выведено: (1, 2, 3, 4)
78%
Возникнет ошибка TypeError
6%
Будет выведено: [1, 5, 3, 4]
⚡9
Асинхронность, многопоточность и многопроцессность в python
Хоть Python пока и не стал по-настоющему многопоточным, как нам обещают в Python 3.13, кое-что он всё же может.
С помощью этого видео вы сможете разобраться в том:
— что такое асинхронное программирование;
— какие есть виды многозадачности при проектировании приложения;
— узнать про процессы, потоки и асинхронный код.
https://youtu.be/_4QY1nGFRY8
#видео #многопоточность
Хоть Python пока и не стал по-настоющему многопоточным, как нам обещают в Python 3.13, кое-что он всё же может.
С помощью этого видео вы сможете разобраться в том:
— что такое асинхронное программирование;
— какие есть виды многозадачности при проектировании приложения;
— узнать про процессы, потоки и асинхронный код.
https://youtu.be/_4QY1nGFRY8
#видео #многопоточность
YouTube
Асинхронность, многопоточность, многопроцессность в python | Библиотека asyncio и асинхронный код
В видео рассмотрим асинхронное программирование, и виды многозадачности при проектировании приложения - процессы, потоки и асинхронный код. Рассмотрим библиотеку asyncio и как на python писать асинхронный код.
Мои курсы на Udemy:
💛 Большой курс по Python…
Мои курсы на Udemy:
💛 Большой курс по Python…
✍5🔥1
Самый_популярный_вопрос_на_собеседованию_PYTHON_разрабочтика_#python.webm
398.6 KB
Кто знает почему так?
Загадка для внимательных. Пишите ответ в комментарии
Загадка для внимательных. Пишите ответ в комментарии
🗿1
Screen Recording 2024-08-13 at 17.30.55.mov
37.5 MB
Веб-приложения теперь можно делать на чистом Python, не хуже, чем на JavaScript
Соучредитель fast.ai Джереми Ховард выпустил FastHTML. Эта технология позволяет писать на Python полноценные веб-приложения.
Уже сейчас здесь есть и компоненты, и адаптивность. Вы можете подключать сюда как JS, так и Python модули, если требуется.
Более подробно о проекте можно узнать на сайте, который, кстати, сделан как раз с помощью FastHTML: https://fastht.ml/
#библиотека #веб
Соучредитель fast.ai Джереми Ховард выпустил FastHTML. Эта технология позволяет писать на Python полноценные веб-приложения.
Уже сейчас здесь есть и компоненты, и адаптивность. Вы можете подключать сюда как JS, так и Python модули, если требуется.
Более подробно о проекте можно узнать на сайте, который, кстати, сделан как раз с помощью FastHTML: https://fastht.ml/
#библиотека #веб
✍11👍5👎2
Шпаргалка по REST API.pdf
435.4 KB
Трёхстраничная шпаргалка по REST API, с помощью которой вы узнаете:
— как называются части URL в контексте запроса;
— зачем нужны те или иные заголовки запросов (например, Accept-Charset / User-Agent);
— чем отличается код 300 от 500
#api #шпаргалка
— как называются части URL в контексте запроса;
— зачем нужны те или иные заголовки запросов (например, Accept-Charset / User-Agent);
— чем отличается код 300 от 500
#api #шпаргалка
Взламываем игры с помощью Python
Многие наверняка помнят программу ArtMoney, которая позволяла взламывать игры, чтобы добавить себе денег, жизней и прочих плюшек в игре.
Сегодня вы можете сделать то же самое, но без ArtMoney, если умеете программировать на Python. Автор этой статьи так и сделал, теперь делиться результатом работы:
https://habr.com/ru/articles/835212/
А какую бы игру взломали вы и зачем?
Многие наверняка помнят программу ArtMoney, которая позволяла взламывать игры, чтобы добавить себе денег, жизней и прочих плюшек в игре.
Сегодня вы можете сделать то же самое, но без ArtMoney, если умеете программировать на Python. Автор этой статьи так и сделал, теперь делиться результатом работы:
https://habr.com/ru/articles/835212/
А какую бы игру взломали вы и зачем?
👍11❤2👾1
Разбираемся в бинарном поиске на Python
Binary Search, или бинарный поиск — это эффективный способ найти элемент в отсортированном массиве. Принцип работы основан на делении массива пополам. Алгоритм постоянно уменьшает область поиска, пока не найдёт целевой элемент или не убедится, что его в массиве нет.
Вот как это происходит шаг за шагом. Сначала находим середину массива и сравниваем средний элемент с тем, который ищем. Если он совпадает с целевым, то задача выполнена. Если нет, и целевой элемент меньше среднего, ищем в левой половине массива. Если же больше — в правой. Процесс продолжается, пока не найдем элемент или массив не закончится.
Рассмотрим пример итеративного бинарного поиска на Python:
Аналогичный пример можно реализовать и рекурсивным методом:
Также можно использовать встроенную библиотеку
Важно помнить, что бинарный поиск работает только с отсортированными массивами. В этом его главный плюс и ограничение. Зато временная сложность у него составляет всего
#советы #алгоритмы
Binary Search, или бинарный поиск — это эффективный способ найти элемент в отсортированном массиве. Принцип работы основан на делении массива пополам. Алгоритм постоянно уменьшает область поиска, пока не найдёт целевой элемент или не убедится, что его в массиве нет.
Вот как это происходит шаг за шагом. Сначала находим середину массива и сравниваем средний элемент с тем, который ищем. Если он совпадает с целевым, то задача выполнена. Если нет, и целевой элемент меньше среднего, ищем в левой половине массива. Если же больше — в правой. Процесс продолжается, пока не найдем элемент или массив не закончится.
Рассмотрим пример итеративного бинарного поиска на Python:
def binary_search(arr, target):
low, high = 0, len(arr) - 1
while low <= high:
mid = (low + high) // 2
guess = arr[mid]
if guess == target:
return mid
elif guess > target:
high = mid - 1
else:
low = mid + 1
return -1
# Пример использования
arr = [1, 3, 5, 7, 9, 11, 13, 15]
target = 9
result = binary_search(arr, target)
print(f"Элемент найден на индексе: {result}" if result != -1 else "Элемент не найден")
Аналогичный пример можно реализовать и рекурсивным методом:
def binary_search_recursive(arr, target, low, high):
if low > high:
return -1
mid = (low + high) // 2
guess = arr[mid]
if guess == target:
return mid
elif guess > target:
return binary_search_recursive(arr, target, low, mid - 1)
else:
return binary_search_recursive(arr, target, mid + 1, high)
# Пример использования
arr = [1, 3, 5, 7, 9, 11, 13, 15]
target = 9
result = binary_search_recursive(arr, target, 0, len(arr) - 1)
print(f"Элемент найден на индексе: {result}" if result != -1 else "Элемент не найден")
Также можно использовать встроенную библиотеку
bisect
для выполнения бинарного поиска:import bisect
def binary_search_bisect(arr, x):
i = bisect.bisect_left(arr, x)
if i != len(arr) and arr[i] == x:
return i
else:
return -1
# Пример использования
arr = [2, 3, 4, 10, 40]
x = 10
result = binary_search_bisect(arr, x)
print(f"Элемент найден на индексе: {result}" if result != -1 else "Элемент не найден")
Важно помнить, что бинарный поиск работает только с отсортированными массивами. В этом его главный плюс и ограничение. Зато временная сложность у него составляет всего
O(log n)
, что значительно быстрее линейного поиска. Это делает бинарный поиск отличным выбором для работы с большими данными.#советы #алгоритмы
👍11❤🔥1
Пишем простой калькулятор на Python
Внутри гайд — комментарии, инструкции и полезные советы.
@zen_of_python
Внутри гайд — комментарии, инструкции и полезные советы.
@zen_of_python