ch
Feedback
Программистика

Программистика

关闭频道

Лучший канал про python Ссылка для друга: https://t.me/+Ai6ughKtf5g2ZmFi Купить рекламу: https://telega.in/c/+Ai6ughKtf5g2ZmFi Админ: @JeyRahol По рекламе: @ReivuManager

显示更多
5 823
订阅者
-124 小时
-277
+4830
帖子存档
🟢 Почему нужно писать is None, а не == None? Многие проверяют x == None, не задумываясь. Но в Python это антипаттерн. Есть причина, почему правильно писать x is None. Разберёмся! 📌 Пример:
x = None

if x == None:
    print("None!")  # ✅ Сработает

if x is None:
    print("Тоже None!")  # ✅ Тоже сработает
🗣 Кажется, разницы нет. Но она есть — и важная. 📌 В чём подвох? ✔️ == вызывает метод __eq__(), и поведение может быть переопределено ✔️ is сравнивает идентичность объектов в памяти 📦 Представь, у тебя класс:
class MyObject:
    def __eq__(self, other):
        return True  # всё равно, что сравниваешь

obj = MyObject()
print(obj == None)  # ✅ True
print(obj is None)  # ❌ False
🔴 == None может вернуть True даже если объект не None! 🟢 Только is None гарантирует точную проверку. 💡 Запомни: ✔️ Пиши if x is None ✔️ И наоборот: if x is not None ✔️ Никогда не используй == None — это баг, ждущий своего часа ❓ А ты где-нибудь в проекте встречал == None?

❗ТОП 2 канала для тех, кто хочет хочет развиваться в кибербезе 🔤Project Omega — закрытая лаборатория белого хакера. Криптогр
ТОП 2 канала для тех, кто хочет хочет развиваться в кибербезе 🔤Project Omega — закрытая лаборатория белого хакера. Криптография на практике и разборы популярных инструментов защиты. 🔤no system is safe // cybersec — один из древнейших ресурсов по информационной безопасности в рунете. Книги, курсы, полезные тулсы, уроки по Linux, новости клирнета. 🔤Никаких заявок! Каналы открыты!

Как живет айтишник, который зарабатывает 5000$ в мес? Живет хорошо! За глубокие знания и умение решать самые сложные задачи его ценят в любой команде: от стартапа до крупной корпорации. А он умеет продавать себя, получать лучшие предложения на работу и эффективно распределять время. Для этого нужно всего 5 минут в день читать канал айтишника. Здесь вы найдёте практические советы, инсайды и секреты от разработчика с 11+ лет опыта, о которых не рассказывают на курсах. 5 минут на канале заменят месяцы самостоятельного изучения. Подписывайтесь: https://t.me/+IT7CNlGRCpw5YzEy

Let's code a beginner's Python BANK PROGRAM
📱 Первоисточник
Программистика || #Видео

👀 Книга "Python, Django, Data Science" Показаны основы работы на Python, а также два его основных ответвления – веб-разработ
👀 Книга "Python, Django, Data Science" Показаны основы работы на Python, а также два его основных ответвления – веб-разработка на Django и область прикладного искусственного интеллекта, являющаяся частью Data Science. Для студентов и сотрудников высших технических учебных заведений, а также специалистов прикладной сферы анализа данных. Программистика|| #doc

👩‍💻 Почему or в Python работает не так, как ты думаешь? Новички часто используют or, думая, что он возвращает True или False. Но в Python всё устроено немного иначе. И это может привести к неожиданному поведению 👇 📌 Пример:
def get_name(name):
    return name or "Anonymous"

print(get_name("Alice"))   # ✅ Alice
print(get_name(""))        # ❌ Anonymous
🗣 Почему второй результат — "Anonymous", хотя мы передали строку? Потому что в Python or возвращает первое истинное значение, а не логическое True/False. 📌 Как это работает:
x = "" or "fallback"
print(x)  # "fallback" — потому что "" считается ложным значением

x = 0 or 5
print(x)  # 5

x = [] or [1]
print(x)  # [1]
⚠️ Опасность: ты можешь получить "резервное" значение даже если аргумент технически передан, но он пустой (0, "", [], False и т.д.) 📌 Как избежать ошибок? 1️⃣ Явно проверяй is None, если важно отсутствие значения, а не "пустота":
def get_name(name=None):
    if name is None:
        return "Anonymous"
    return name
2️⃣ Не полагайся на or, если ноль или пустая строка — валидные значения. 💡 Запомни: ✔️ or возвращает одно из значений, а не True/False ✔️ or — это не "если пусто — подставь", а "возьми первое истинное" ✔️ Будь осторожен с 0, [], "", False — они все считаются ложными ❓ А у тебя бывало, что or подставлял значение, которого ты не ждал?

👩‍💻 Почему += может вести себя не так, как ты ожидаешь? Многие думают, что += всегда создаёт новый объект. Но в Python всё зависит от типа данных. Особенно опасно это с списками и другими изменяемыми типами. 📌 Пример с числом (всё нормально):
x = 10
x += 5
print(x)  # ✅ 15 — создалось новое число
📌 А теперь со списками:
a = [1, 2]
b = a
a += [3]

print(a)  # ✅ [1, 2, 3]
print(b)  # 😱 [1, 2, 3] — тоже изменился!
🗣 Почему так? += для списков — это не создание нового списка. Это мутабельное изменение на месте (list.__iadd__). То есть a и b указывают на один и тот же объект в памяти — и += меняет его. 📌 Что делать? 1️⃣ Если хочешь создать новый список — используй +, а не +=:
a = [1, 2]
b = a
a = a + [3]  # Новый объект!

print(a)  # [1, 2, 3]
print(b)  # [1, 2]
2️⃣ Или делай copy() заранее:
a = [1, 2]
b = a.copy()
a += [3]

print(a)  # [1, 2, 3]
print(b)  # [1, 2]
💡 Запомни: ✔️ += изменяет объект на месте, если он мутабельный ✔️ Список, словарь, множество — всё меняется по ссылке ✔️ Для создания нового объекта — используй + или copy()А ты знал, что a += b может затронуть и другие переменные?

Айтишник, который не умеет использовать командную строку bash – так себе специалист. Если посетить несколько собеседований уровня от миддл, то можно убедиться, что вопросы про опыт работы в консоли появляются довольно часто. Сходу научиться всем командам bash нереально – их очень много. К счастью, появился канал BashMaster, в котором каждый день можно узнавать по одной небольшой связке команд и сразу же внедрять их в свою работу. Подпишись, освоишь bash на изи 👍

👩‍💻 Что такое веб-скрейпинг и парсинг Python (Питон) - уроки для начинающих
📱 Первоисточник
Программистика ||#Видео

👩‍💻 Генератор QR-кодов на Python Освойте создание QR-кодов с нуля — без сторонних сервисов и ограничений! Вы когда-нибудь с
👩‍💻 Генератор QR-кодов на Python Освойте создание QR-кодов с нуля — без сторонних сервисов и ограничений! Вы когда-нибудь сканировали свой QR-код, созданный через онлайн-сервис, и получали в ответ рекламу, водяной знак или подозрительную ссылку? Пора отказаться от сторонних платформ и создать собственное решение.
🌐 Ссылка
Программистика || #Course

Нас уже 5 тысяч!👍 Спасибо всем, кто продолжает нас читать, я надеюсь, что наш контент вам полезен🧑‍💻
Нас уже 5 тысяч!👍 Спасибо всем, кто продолжает нас читать, я надеюсь, что наш контент вам полезен🧑‍💻

👩‍💻 Почему нельзя использовать изменяемые значения по умолчанию? В Python аргументы по умолчанию ведут себя *не так, как ты думаешь*. Особенно если это list, dict или set. Это ловушка для всех, кто пишет функции! 📌 Проблема с изменяемыми значениями по умолчанию:
def append_item(x, items=[]):
    items.append(x)
    return items

print(append_item(1))  # [1]
print(append_item(2))  # [1, 2] ❌ Ожидали [2]?
👍 Разбор: ✔️ Значение по умолчанию вычисляется один раз — при создании функции ✔️ Все вызовы функции используют один и тот же список 📌 Как правильно: 1️⃣ Используем None как заглушку:
def append_item(x, items=None):
    if items is None:
        items = []
    items.append(x)
    return items

print(append_item(1))  # ✅ [1]
print(append_item(2))  # ✅ [2]
2️⃣ Или передавай список явно:
print(append_item(3, []))  # ✅ [3]
💡 Запомни: ✔️ Не используй [], {} и set() в качестве значений по умолчанию ✔️ Аргументы по умолчанию инициализируются один раз ✔️ Используй None и создавай объект внутри функции ❓ А ты попадался на эту ловушку?

Отлично! Держи пост в том же стиле — но на тему изменения аргументов по умолчанию в функциях: --- 🟢 Почему нельзя использовать изменяемые значения по умолчанию? В Python аргументы по умолчанию ведут себя *не так, как ты думаешь*. Особенно если это list, dict или set. Это ловушка для всех, кто пишет функции! 📌 Проблема с изменяемыми значениями по умолчанию:
def append_item(x, items=[]):
    items.append(x)
    return items

print(append_item(1))  # [1]
print(append_item(2))  # [1, 2] ❌ Ожидали [2]?
👍 Разбор: ✔️ Значение по умолчанию вычисляется один раз — при создании функции ✔️ Все вызовы функции используют один и тот же список 📌 Как правильно: 1️⃣ Используем None как заглушку:
def append_item(x, items=None):
    if items is None:
        items = []
    items.append(x)
    return items

print(append_item(1))  # ✅ [1]
print(append_item(2))  # ✅ [2]
2️⃣ Или передавай список явно:
print(append_item(3, []))  # ✅ [3]
💡 Запомни: ✔️ Не используй [], {} и set() в качестве значений по умолчанию ✔️ Аргументы по умолчанию инициализируются один раз ✔️ Используй None и создавай объект внутри функции ❓ А ты попадался на эту ловушку? --- Если хочешь, могу сделать ещё посты в этом стиле — например, на темы += со списками, замыкания и переменные, поведение глобальных переменных, и т.д.

👀 Классические задачи Computer Science на языке Python Книга даст вам возможность глубже освоить язык Python, проверить себя
👀 Классические задачи Computer Science на языке Python Книга даст вам возможность глубже освоить язык Python, проверить себя на испытанных временем задачах, упражнениях и алгоритмах. Вам предстоит решать десятки заданий по программированию: от самых простых (например, найти элементы списка с помощью двоичной сортировки), до сложных (выполнить кластеризацию данных методом k-средних). Прорабатывая примеры, посвященные поиску, кластеризации, графам и пр., вы вспомните то, о чем успели позабыть, и овладеете классическими приемами решения повседневных задач. Программистика|| #doc

Запустите рекламу в телеграм-каналах с Яндекс Директом Перфоманс-реклама теперь в телеграм-каналах ⚡ Яндекс Директ знает, как привлечь целевую аудиторию 💰👌 Попробовать #реклама yandex.ru О рекламодателе