Python Ninja | Программирование
6.92K subscribers
1.08K photos
99 videos
918 links
Канал для всех кто хочет освоить или прокачать навыки программирования на Python. Присоединяйся, чтобы стать настоящим Python Ninja!

Связь: @sfoninja
Download Telegram
Исправляем Mojibake и ошибки Unicode с помощью Python-библиотеки ftfy

Если вы когда-нибудь сталкивались с «битым» текстом вроде é вместо é или †вместо апострофа — то это и есть Mojibake. Он возникает, когда строка декодируется с использованием неправильной кодировки символов

На помощь приходит библиотека ftfy (Fixes Text For You). Её задача проста: автоматически исправлять самые распространённые ошибки Unicode и превращать «кашу из символов» в нормальный читаемый текст

Пример:
import ftfy

# Текст для очистки
garbled_texts = [
"The companyâ€s latest update was great.", # †должно быть ’
"Here is some text: único.", # ú должно быть ú
]

for text in garbled_texts:
fixed_text = ftfy.fix_text(text)
print(f"Garbled: {text}")
print(f"Fixed: {fixed_text}\n")

Вывод:
Garbled: The companyâ€s latest update was great.
Fixed: The company’s latest update was great.

Garbled: Here is some text: único.
Fixed: Here is some text: único.


✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
3
Полезная находка «Project Euler» спортзал для мозга

Project Euler считается одним из культовых ресурсов для развития алгоритмического мышления: задачи там устроены так, что brute force обычно не помогает — нужно искать математические закономерности, оптимизации и изящные решения

Многие программисты используют его как «тренажёр» для ума и как способ познакомиться с новыми приёмами в математике, теории чисел и алгоритмах 💪

☝️ Ссылка источник

@Terminal_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍1
Звёздочка в распаковке и ловушка вложенного списка

Что выведет код 👀

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Варианты
Anonymous Quiz
37%
A
28%
B
20%
C
15%
D
Явная ошибка в Python: использование изменяемого аргумента по умолчанию

Не используйте изменяемые объекты в качестве значений по умолчанию. В Python значения аргументов по умолчанию вычисляются один раз при определении функции, а не при каждом её вызове

Если у вас есть аргумент вроде items=[], этот список будет общим для всех вызовов функции, и вы получите накапливающееся состояние, которого не ожидали:
# Изменяемый аргумент по умолчанию
def add_item(item, my_list=[]):
my_list.append(item)
return my_list

print(add_item(1)) # [1]
print(add_item(2)) # [1, 2]
print(add_item(3)) # [1, 2, 3]


Лучший способ использовать неизменяемый объект в качестве значения по умолчанию. Тогда при каждом вызове будет создаваться новый список:
from typing import Optional, List

def add_item(item: int, my_list: Optional[List[int]] = None) -> List[int]:
if my_list is None:
my_list = []
my_list.append(item)
return my_list


Значения по умолчанию вычисляются при определении функции, а не при её вызове. Если есть сомнения используйте None и создавайте изменяемый объект внутри функции👑

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Шпаргалка по проектированию веб систем System Design 101

Подробное руководство по архитектуре веб‑сервисов, которое обязательно стоит сохранить. Это перевод статьи от ByteByteGo опубликованный на Хабре

Сохраняем за лайк ❤️

☝️ Ссылка источник

Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Наткнулся на интересную игрушку The Farmer Was Replaced

Симпатичная инди-игра где вы программируете дрон, чтобы он вел фермерское хозяйство. Код пишется на языке, похожем на Python, а геймплей превращает обучение программированию в увлекательную задачу по автоматизации фермы

Простая идея масса удовольствия и пользы 😊

Ссылка источник

Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Лучший способ увидеть как на самом деле работает ML «Drawdata»

Используйте Drawdata, чтобы прямо в Jupyter нарисовать 2D-датасет, выбирать точки через виджет и наблюдать, как модель обновляется по мере добавления данных

Полностью интерактивно, в реальном времени и open-source 🥇

Ссылка источник

Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Pyтонский юмор 😺

Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
😁6
Логические операторы с сюрпризом

Что выведет код 🤷‍♂️

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Варианты
Anonymous Quiz
36%
A
26%
B
27%
C
11%
D
Media is too big
VIEW IN TELEGRAM
Принёс инструмент для абсолютной лени и максимальной пользы

Автоматизировать скучные задачи можно! С этим репозиторием Python + Streamlit ты можешь скачивать видео, убирать фон с картинок, создавать аудиокниги из PDF и даже проверять код на ошибки одним кликом

Лень теперь официально оправдана 🍺

☝️ Ссылка источник

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Сетевые команды Windows: Краткий справочник

Держите список самых полезных команд для диагностики и управления сетью в операционной системе Windows 🏴‍☠️

Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Держите ещё одну сокровищницу для новичков «Coddy Journeys»

Бесплатная онлайн платформа где вы осваиваете программирование, проходя интерактивные маршруты и решаете задачи прямо в браузере

Учёба превращается в игру, шаг за шагом к своим первым успехам в IT ❤️

☝️ Ссылка источник

Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
3
This media is not supported in your browser
VIEW IN TELEGRAM
Ловите подгон «Exercism» образовательная онлайн платформа ориентированная на практику

Более 7000 упражнений на 75 различных ЯП. Каждый язык представлен целой дорожкой с задачами, которые помогут разобраться во всех тонкостях шаг за шагом

Отличное место чтобы подтянуть навыки или попробовать новый язык 😎

☝️ Ссылка источник

Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Принес полезное «GitHowTo» — руководство по Git на русском языке

Если ты только начинаешь разбираться с Git и не знаешь, с чего начать — загляни на «GitHowTo». Это простой и понятный сайт, где тебе всё покажут и объяснят — прямо по шагам, с примерами

Сделай первый шаг — знания уже ждут ❤️

☝️ Ссылка источник

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
4
Lambda не просто однострочник

Часто пишут так:

def get_name(user):
return user['name']

# где-то через 100–200 строк...
users.sort(key=get_name)



Но lambda позволяет держать логику прямо там, где она нужна:

users.sort(key=lambda user: user['name'])


📌Не нужно прыгать по коду туда-сюда — вся логика сортировки в одном месте

Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Где завершается генератор

Что выведет код 🕵️‍♂️

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
3
Варианты
Anonymous Quiz
14%
A
17%
B
24%
C
46%
D
Интерсное чтиво: Создайте библиотеку на Python с расширением на C++

Попался интересный и позновательный гайд где рассказывают, как собрать Python библиотеку с нативным C++ расширением. Суть простая: пишешь удобный API на Python, а тяжёлую логику выносишь в C++ и получаешь заметный буст в производительности

Там же здесь есть другие полезные туториалы по современному Python tooling можно надолго залипнуть 💻

☝️ Ссылка источник

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Приоритет операторов: кто выполнится первым

Что выведет код 📖

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3