
⚡️ Заказывайте в AI-каталоге — получайте скидку!
5% скидка на размещения в каналах, которые подобрал AI. Промокод: TELEGA-AI
Подробнее

РегистрацияВойтиВойти
Скидка 3,5% на первые три заказа
Получите скидку на первые три заказа!
Зарегистрируйтесь и получите скидку 3,5% на первые рекламные кампании — промокод активен 7 дней.
24.4

Pythoner
5.0
33
Интернет технологии
913
12
Канал по программированию на python с отличной конверсией, с активной и платежеспособной ЦА
IT, программирование, python.
Поделиться
В избранное
Купить рекламу в этом канале
Формат:
keyboard_arrow_down
- 1/24
- 2/48
- 3/72
- Нативный
- 7 дней
- Репост
1 час в топе / 24 часа в ленте
Количество:
keyboard_arrow_down
- 1
- 2
- 3
- 4
- 5
- 8
- 10
- 15
Стоимость публикации:
local_activity
2 517.48₽2 517.48₽local_mall
0.0%
Осталось по этой цене:0
Последние посты канала
imageИзображение не доступно для предпросмотра
✈️Функция .strip() в Python по умолчанию удаляет пробелы в начале и конце строки. Это может быть особенно полезно при работе с данными, которые могут содержать случайные пробелы, которые могут помешать анализу данных или программированию. Например, строка ' Привет, мир! ' станет 'Привет, мир!' после использования .strip().
s = ' Привет, мир! '
print(s.strip()) # Выведет: 'Привет, мир!'{}
➡️.strip() с аргументами
В дополнение к удалению пробелов, .strip() также может быть использован для удаления определенных символов из строки, передав их в качестве аргумента. Например, если мы хотим удалить определенный символ, такой как '#', из строки, мы можем это сделать, вызвав .strip('#'). Это удалит все экземпляры '#' из начала и конца строки.
s = '###Привет, мир!###'
print(s.strip('#')) # Выведет: 'Привет, мир!'{}
➡️.lstrip() и .rstrip()
Python также предлагает две вариации функции .strip(), которые являются .lstrip() и .rstrip(). Эти функции работают так же, как .strip(), но .lstrip() удаляет символы только с левой стороны строки, а .rstrip() - только с правой стороны.
s = '###Привет, мир!###'
print(s.lstrip('#')) # Выведет: 'Привет, мир!###'
print(s.rstrip('#')) # Выведет: '###Привет, мир!'{}
🐍 Pythoner807
18:01
14.07.2025
imageИзображение не доступно для предпросмотра
✈️Модульные тесты (или unit-тесты) — это автоматические тесты, которые проверяют работу отдельных функций, методов или классов в изоляции от остальной программы.
➡️Цель модульного теста — убедиться, что маленький блок кода работает правильно при разных входных данных:
# Функция, которую будем тестировать
def add(a, b):
return a + b{}
Теперь напишем модульный тест с использованием стандартного модуля unittest
:
import unittest
class TestAddFunction(unittest.TestCase):
def test_add_positive_numbers(self):
self.assertEqual(add(2, 3), 5)
def test_add_negative_numbers(self):
self.assertEqual(add(-1, -2), -3)
def test_add_zero(self):
self.assertEqual(add(0, 5), 5)
if __name__ == '__main__':
unittest.main(){}
➡️Зачем нужны модульные тесты:
- Находят ошибки в логике функции.
- Упрощают рефакторинг (можно смело менять код — тесты покажут, что сломалось).
- Помогают при разработке: можно быстро проверить, работает ли новый код.
- Улучшают структуру кода — приходится писать функции так, чтобы их легко тестировать.
🐍 Pythoner757
19:40
15.07.2025
✈️Основное различие между этими двумя методами состоит в том, что __new__ обрабатывает создание объекта, а __init__ обрабатывает его инициализацию.
__new__
вызывается автоматически при вызове имени класса (при создании экземпляра), тогда как init вызывается каждый раз, когда экземпляр класса возвращается __new__
, передавая возвращаемый экземпляр в __init__
в качестве параметра self
, поэтому даже если вы сохранили экземпляр где-нибудь глобально/статически и возвращали его каждый раз из __new__
, для него все-равно будет каждый раз вызываться __init__
.
Пример:
class Singleton:
_instance = None
def __new__(cls):
if cls._instance is None:
print("Создание объекта")
cls._instance = super().__new__(cls)
return cls._instance
def __init__(self):
print("Инициализация объекта")
a = Singleton()
b = Singleton(){}
⬆️Вывод:
Создание объекта
Инициализация объекта
Инициализация объекта{}
1
07:22
16.07.2025
imageИзображение не доступно для предпросмотра
Хотите в IT, но код видели только в «Матрице»?
В июле школа программирования «Хекслет» дарит комфортные условия на старт обучения в IT для новичков.
Python, Java, Frontend, PHP, Data Analytics со скидкой 15% от цены— выбирайте направление, а мы поддержим ваш первый шаг.
Учим с нуля, доводим до работы. Более 4500 наших выпускников уже в профессии. Вас ждет:
✅ есть бесплатные курсы по основам
✅ помощь наставников — практикующих разработчиков;
✅ участие в коммерческих проектах;
✅ гарантированная стажировка;
✅ беспроцентная рассрочка.
Все это по специальным ценам, чтобы «не ждать понедельника».
Перейти на сайт
#реклама 16+
ru.hexlet.io
О рекламодателе
662
14:10
16.07.2025
imageИзображение не доступно для предпросмотра
✈️Основное различие между этими двумя методами состоит в том, что __new__ обрабатывает создание объекта, а __init__ обрабатывает его инициализацию.
__new__
вызывается автоматически при вызове имени класса (при создании экземпляра), тогда как init вызывается каждый раз, когда экземпляр класса возвращается __new__
, передавая возвращаемый экземпляр в __init__
в качестве параметра self
, поэтому даже если вы сохранили экземпляр где-нибудь глобально/статически и возвращали его каждый раз из __new__
, для него все-равно будет каждый раз вызываться __init__
.
Пример:
class Singleton:
_instance = None
def __new__(cls):
if cls._instance is None:
print("Создание объекта")
cls._instance = super().__new__(cls)
return cls._instance
def __init__(self):
print("Инициализация объекта")
a = Singleton()
b = Singleton(){}
⬆️Вывод:
Создание объекта
Инициализация объекта
Инициализация объекта{}
__new__
сработал один раз — объект создан.
__init__
вызвался дважды — каждый раз при создании экземпляра.
🐍 Pythoner655
17:34
16.07.2025
imageИзображение не доступно для предпросмотра
✈️Зависимость (dependency) — это внешний объект, который нужен какому-то компоненту для работы. Внедрение зависимостей (Dependency Injection) — это способ передать нужные зависимости извне, а не создавать их внутри.
➡️Простой пример:
class Engine:
def start(self):
print("Engine started")
class Car:
def __init__(self, engine: Engine):
self.engine = engine
def run(self):
self.engine.start(){}
⬆️Здесь Car не создает Engine внутри себя. Внедрение происходит через конструктор.
engine = Engine()
car = Car(engine) # <-- внедрили зависимость
car.run(){}
➡️Как реализовать вручную в Python?
В Python DI часто реализуется через:
1. Конструктор (constructor injection):
class Service:
def __init__(self, db_client):
self.db = db_client{}
2. Setter-инъекция (через метод):
class Service:
def set_db(self, db_client):
self.db = db_client{}
3. Передача через параметры функции:
def handler(service: Service):
return service.do_stuff(){}
➡️Зачем это нужно?
- Легко тестировать (можно подменить зависимости моками)
- Повышает гибкость (меняем реализацию зависимости)
- Разделяет ответственность (класс делает только то, что должен)
🐍 Pythoner511
17:14
17.07.2025
play_circleВидео недоступно для предпросмотра
От сисадмина до DevOps'а
Рост карьеры и зарплаты уже сегодня вместе со Слёрмом! В канале полезные советы, бесплатные гайды и скидки на курсы.
Подписаться
#реклама 16+
О рекламодателе
628
13:27
17.07.2025
close
С этим каналом часто покупают
Отзывы канала
keyboard_arrow_down
- Добавлен: Сначала новые
- Добавлен: Сначала старые
- Оценка: По убыванию
- Оценка: По возрастанию
5.0
0 отзыва за 6 мес.
k
**sel.nf@******.ru
на сервисе с декабря 2024
05.12.202418:54
5
Оперативное размещение

Pythoner
на сервисе с сентября 2023
23.02.202517:59
Благодарим за отзыв <3
Показать еще
Новинки в тематике
Лучшие в тематике
Статистика канала
Рейтинг
24.4
Оценка отзывов
5.0
Выполнено заявок
88
Подписчики:
7.6K
Просмотры на пост:
lock_outline
ER:
8.4%
Публикаций в день:
2.0
CPV
lock_outlineВыбрано
0
каналов на сумму:0.00₽
Подписчики:
0
Просмотры:
lock_outline
Перейти в корзинуКупить за:0.00₽
Комментарий